29.6 Random number generation [rand]
29.6.5 Engines and engine adaptors with predefined parameters [rand.predef]
using minstd_rand0 =
linear_congruential_engine<uint_fast32_t, 16807, 0, 2147483647>;
Required behavior:
The consecutive invocation
of a default-constructed object
of type
minstd_rand0
shall produce the value
1043618065. using minstd_rand =
linear_congruential_engine<uint_fast32_t, 48271, 0, 2147483647>;
Required behavior:
The consecutive invocation
of a default-constructed object
of type
minstd_rand
shall produce the value
399268537. using mt19937 =
mersenne_twister_engine<uint_fast32_t,
32,624,397,31,0x9908b0df,11,0xffffffff,7,0x9d2c5680,15,0xefc60000,18,1812433253>;
Required behavior:
The consecutive invocation
of a default-constructed object
of type
mt19937
shall produce the value
4123659995. using mt19937_64 =
mersenne_twister_engine<uint_fast64_t,
64,312,156,31,0xb5026f5aa96619e9,29,
0x5555555555555555,17,
0x71d67fffeda60000,37,
0xfff7eee000000000,43,
6364136223846793005>;
Required behavior:
The consecutive invocation
of a default-constructed object
of type
mt19937_64
shall produce the value
9981545732273789042. using ranlux24_base =
subtract_with_carry_engine<uint_fast32_t, 24, 10, 24>;
Required behavior:
The consecutive invocation
of a default-constructed object
of type
ranlux24_base
shall produce the value
7937952. using ranlux48_base =
subtract_with_carry_engine<uint_fast64_t, 48, 5, 12>;
Required behavior:
The consecutive invocation
of a default-constructed object
of type
ranlux48_base
shall produce the value
61839128582725. using ranlux24 = discard_block_engine<ranlux24_base, 223, 23>;
Required behavior:
The consecutive invocation
of a default-constructed object
of type
ranlux24
shall produce the value
9901578. using ranlux48 = discard_block_engine<ranlux48_base, 389, 11>;
Required behavior:
The consecutive invocation
of a default-constructed object
of type
ranlux48
shall produce the value
249142670248501. using knuth_b = shuffle_order_engine<minstd_rand0,256>;
Required behavior:
The consecutive invocation
of a default-constructed object
of type
knuth_b
shall produce the value
1112339016. using default_random_engine = implementation-defined;
Remarks:
The choice of engine type
named by this
typedef
is
implementation-defined
. [
Note: The implementation
may select this type
on the basis of performance,
size,
quality,
or any combination of such factors,
so as to provide at least acceptable engine behavior
for relatively casual, inexpert, and/or lightweight use
. Because different implementations
may select different underlying engine types,
code that uses this
typedef
need not generate identical sequences across implementations
. —
end note ]