![]() |
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.
To be documented. |
typedef linear_congruential<unsigned long, 48271, 0, 2147483647> std::minstd_rand |
An alternative LCR (Lehmer Generator function) .
Definition at line 509 of file tr1_impl/random.
typedef linear_congruential<unsigned long, 16807, 0, 2147483647> std::minstd_rand0 |
The classic Minimum Standard rand0 of Lewis, Goodman, and Miller.
Definition at line 504 of file tr1_impl/random.
typedef mersenne_twister< unsigned long, 32, 624, 397, 31, 0x9908b0dful, 11, 7, 0x9d2c5680ul, 15, 0xefc60000ul, 18 > 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 691 of file tr1_impl/random.
typedef discard_block< subtract_with_carry<unsigned long, (1UL << 24), 10, 24>, 223, 24 > std::ranlux3 |
James's luxury-level-3 integer adaptation of Luescher's generator.
Definition at line 1254 of file tr1_impl/random.
typedef discard_block< subtract_with_carry<unsigned long, (1UL << 24), 10, 24>, 389, 24 > std::ranlux4 |
James's luxury-level-4 integer adaptation of Luescher's generator.
Definition at line 1263 of file tr1_impl/random.