subtract_with_carry_engine::seed
Seeds the engine.
void seed(UIntType x0 = default_seed);
void seed(seed_seq& seq);
Parameters
x0
The seed value.seq
The object of type seed_seq that supplies the randomized seed.
Remarks
Precondition: 0 < x0
The first seed function effectively constructs the engine gen:
linear_congruential_engine<UIntType, 40014, 0, 2147483563>
gen(x0 == 0 ? default_seed: x0);
It then sets the R historical values beginning with h[0] to the values produced by calling gen().
The second seed function sets these historical values as follows:
k is the number of unsigned long integers needed to supply all the bits in a UIntType integer (at least 1).
a is an array of R * k elements of type UIntType.
a is initialized by calling seq.generate(&a[0], &a[R * k]).
Each h[i] is composed by packing the k elements beginning at a[i * k], which supplies the lowest-order bits.
Each h[i] is reduced modulo M.
In either case, the stored carry is h[R - 1] == 0.
Requirements
Header: <random>
Namespace: std
See Also
Reference
subtract_with_carry_engine Class