mersenne_twister_engine::seed

Injecte le moteur.

void seed(result_type x0 = default_seed);
void seed(seed_seq& seq);

Paramètres

  • x0
    La valeur initiale.

  • seq
    L'objet du type seed_seq qui fournit la valeur de départ randomisée.

Notes

Condition préalable : 0 < x0

La première fonction de départ définit la valeur historique la plus ancienne h[0] à x0 mod 2W, puis place de manière itérative chaque valeur historique consécutive h[i] à (i + F * (h[i - 1] >> (W - 2))) mod 2W, pour i allant d' 1 à N - 1.

La deuxième fonction de départ définit les valeurs historique d' N à partir h[0] comme suit :

  • k est le nombre d'entiers d' unsigned long nécessaires pour fournir tous les bits dans un entier d' UIntType (au moins 1).

  • a est un tableau d'éléments d' N * k de type UIntType.

  • a est initialisé en appelant seq.generate(&a[0], &a[N * k]).

  • Chaque h[i] est composé de comprimant les éléments d' k en commençant à a[i * k], qui fournit les bits de poids faible.

Configuration requise

en-tête : <random>

l'espace de noms : DST

Voir aussi

Référence

<random>

mersenne_twister_engine Class