Condividi tramite


subtract_with_carry_engine::seed

Definisce il motore.

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

Parametri

  • x0
    Valore di inizializzazione.

  • seq
    L'oggetto di tipo seed_seq che fornisce il valore randomizzato.

Note

Precondizione: 0 < x0

La prima funzione di inizializzazione efficacemente dal motore gen:

    linear_congruential_engine<UIntType, 40014, 0, 2147483563>
    gen(x0 == 0 ? default_seed: x0);

Quindi impostare i valori cronologia R a partire da h[0] i valori prodotti chiamando gen().

La seconda funzione di inizializzazione imposta questi valori cronologici come segue:

  • k è il numero di Integer unsigned long necessari per fornire tutti i bit in un Integer UIntType (almeno 1).

  • a è una matrice di elementi R * k di tipo UIntType.

  • a viene inizializzato chiamando seq.generate(&a[0], &a[R * k]).

  • Ogni h[i] è costituita imballando gli elementi k che iniziano a a[i * k], che fornisce i bit di ordine inferiore.

  • Ogni h[i] modulo viene ridotto M.

In entrambi i casi, presentano vengono archiviati h[R - 1] == 0.

Requisiti

intestazione: <random>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

<random>

subtract_with_carry_engine Class