subtract_with_carry_engine::seed

Utiliza el motor.

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

Parámetros

  • x0
    Valor de inicialización.

  • seq
    El objeto de seed_seq tipo que proporciona el valor aleatorizado.

Comentarios

condición previa: 0 < x0

La primera función seed construye eficazmente el motor gen:

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

Después se establecen los valores históricos de R a partir de h[0] a los valores generados llamando a gen().

La segunda función seed establece estos valores históricos como sigue:

  • k es el número de enteros de unsigned long necesarios para proporcionar todos los bits en un entero de UIntType (al menos 1).

  • a es una matriz de elementos de R * k de UIntTypeescrito.

  • a se inicializa llamando a seq.generate(&a[0], &a[R * k]).

  • Cada h[i] es compuesto empaquetar los elementos de k que comienzan en a[i * k], que proporciona los bites de peso inferior.

  • cada h[i] es módulo reducido M.

En cualquier caso, almacenados contienen son h[R - 1] == 0.

Requisitos

encabezado: <aleatorio>

espacio de nombres: std

Vea también

Referencia

<random>

subtract_with_carry_engine Class