|
class | std::discard_block_engine< _RandomNumberEngine, __p, __r > |
|
class | std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType > |
|
class | std::linear_congruential_engine< _UIntType, __a, __c, __m > |
|
class | std::mersenne_twister_engine< _UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f > |
|
class | std::random_device |
|
class | std::shuffle_order_engine< _RandomNumberEngine, __k > |
|
class | std::subtract_with_carry_engine< _UIntType, __w, __s, __r > |
|
|
typedef minstd_rand0 | std::default_random_engine |
|
typedef shuffle_order_engine< minstd_rand0, 256 > | std::knuth_b |
|
typedef linear_congruential_engine< uint_fast32_t, 48271UL, 0UL, 2147483647UL > | std::minstd_rand |
|
typedef linear_congruential_engine< uint_fast32_t, 16807UL, 0UL, 2147483647UL > | std::minstd_rand0 |
|
typedef mersenne_twister_engine< uint_fast32_t, 32, 624, 397, 31, 0x9908b0dfUL, 11, 0xffffffffUL, 7, 0x9d2c5680UL, 15, 0xefc60000UL, 18, 1812433253UL > | std::mt19937 |
|
typedef mersenne_twister_engine< uint_fast64_t, 64, 312, 156, 31, 0xb5026f5aa96619e9ULL, 29, 0x5555555555555555ULL, 17, 0x71d67fffeda60000ULL, 37, 0xfff7eee000000000ULL, 43, 6364136223846793005ULL > | std::mt19937_64 |
|
typedef discard_block_engine< ranlux24_base, 223, 23 > | std::ranlux24 |
|
typedef subtract_with_carry_engine< uint_fast32_t, 24, 10, 24 > | std::ranlux24_base |
|
typedef discard_block_engine< ranlux48_base, 389, 11 > | std::ranlux48 |
|
typedef subtract_with_carry_engine< uint_fast64_t, 48, 5, 12 > | std::ranlux48_base |
|
These classes define objects which provide random or pseudorandom numbers, either from a discrete or a continuous interval. The random number generator supplied as a part of this library are all uniform random number generators which provide a sequence of random number uniformly distributed over their range.
A number generator is a function object with an operator() that takes zero arguments and returns a number.
A compliant random number generator must satisfy the following requirements.
Random Number Generator Requirements
To be documented. |
◆ default_random_engine
◆ knuth_b
◆ minstd_rand
An alternative LCR (Lehmer Generator function).
Definition at line 1581 of file random.h.
◆ minstd_rand0
The classic Minimum Standard rand0 of Lewis, Goodman, and Miller.
Definition at line 1575 of file random.h.
◆ mt19937
typedef mersenne_twister_engine< uint_fast32_t, 32, 624, 397, 31, 0x9908b0dfUL, 11, 0xffffffffUL, 7, 0x9d2c5680UL, 15, 0xefc60000UL, 18, 1812433253UL> std::mt19937 |
The classic Mersenne Twister.
Reference: M. Matsumoto and T. Nishimura, Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator, ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
Definition at line 1597 of file random.h.
◆ mt19937_64
typedef mersenne_twister_engine< uint_fast64_t, 64, 312, 156, 31, 0xb5026f5aa96619e9ULL, 29, 0x5555555555555555ULL, 17, 0x71d67fffeda60000ULL, 37, 0xfff7eee000000000ULL, 43, 6364136223846793005ULL> std::mt19937_64 |
An alternative Mersenne Twister.
Definition at line 1609 of file random.h.
◆ ranlux24
◆ ranlux24_base
◆ ranlux48
◆ ranlux48_base
◆ operator<<()
template<typename _RandomNumberEngine , size_t __w, typename _UIntType , typename _CharT , typename _Traits >
Inserts the current state of a independent_bits_engine random number generator engine __x
into the output stream __os
.
- Parameters
-
__os | An output stream. |
__x | A independent_bits_engine random number generator engine. |
- Returns
- The output stream with the state of
__x
inserted or in an error state.
Definition at line 61 of file random.h.