26 Numerics library [numerics]

26.5 Random number generation [rand]

26.5.5 Engines and engine adaptors with predefined parameters [rand.predef]

typedef linear_congruential_engine<uint_fast32_t, 16807, 0, 2147483647> minstd_rand0;

Required behavior: The 10000 th consecutive invocation of a default-constructed object of type minstd_rand0 shall produce the value 1043618065.

typedef linear_congruential_engine<uint_fast32_t, 48271, 0, 2147483647> minstd_rand;

Required behavior: The 10000 th consecutive invocation of a default-constructed object of type minstd_rand shall produce the value 399268537.

typedef mersenne_twister_engine<uint_fast32_t, 32,624,397,31,0x9908b0df,11,0xffffffff,7,0x9d2c5680,15,0xefc60000,18,1812433253> mt19937;

Required behavior: The 10000 th consecutive invocation of a default-constructed object of type mt19937 shall produce the value 4123659995.

typedef mersenne_twister_engine<uint_fast64_t, 64,312,156,31,0xb5026f5aa96619e9,29, 0x5555555555555555,17, 0x71d67fffeda60000,37, 0xfff7eee000000000,43, 6364136223846793005> mt19937_64;

Required behavior: The 10000 th consecutive invocation of a default-constructed object of type mt19937_64 shall produce the value 9981545732273789042.

typedef subtract_with_carry_engine<uint_fast32_t, 24, 10, 24> ranlux24_base;

Required behavior: The 10000 th consecutive invocation of a default-constructed object of type ranlux24_base shall produce the value 7937952 .

typedef subtract_with_carry_engine<uint_fast64_t, 48, 5, 12> ranlux48_base;

Required behavior: The 10000 th consecutive invocation of a default-constructed object of type ranlux48_base shall produce the value 61839128582725 .

typedef discard_block_engine<ranlux24_base, 223, 23> ranlux24;

Required behavior: The 10000 th consecutive invocation of a default-constructed object of type ranlux24 shall produce the value 9901578 .

typedef discard_block_engine<ranlux48_base, 389, 11> ranlux48;

Required behavior: The 10000 th consecutive invocation of a default-constructed object of type ranlux48 shall produce the value 249142670248501 .

typedef shuffle_order_engine<minstd_rand0,256> knuth_b;

Required behavior: The 10000 th consecutive invocation of a default-constructed object of type knuth_b shall produce the value 1112339016.

typedef implementation-defined default_random_engine;

Remark: 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 ]