An implementation of the MT19937 algorithm for the Mersenne Twister, based on implementation by Evan Sultanik and pseudocode by M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-dimensionally
equidistributed uniform pseudorandom number generator," ACM Transactions on Modeling and Computer Simulation Vol. 8, No. 1, January pp.3-30 1998.
More...
Go to the source code of this file.
An implementation of the MT19937 algorithm for the Mersenne Twister, based on implementation by Evan Sultanik and pseudocode by M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-dimensionally
equidistributed uniform pseudorandom number generator," ACM Transactions on Modeling and Computer Simulation Vol. 8, No. 1, January pp.3-30 1998.
◆ STATE_VECTOR_LENGTH
#define STATE_VECTOR_LENGTH 624 |
◆ STATE_VECTOR_M
#define STATE_VECTOR_M 397 |
◆ mtrand_state
◆ mtrand_create()
Creates a new Mersenne Twister random number generator using the provided seed.
- Parameters
-
The | seed to use for the RNG. |
- Returns
- The state for the MT RNG.
◆ mtrand_generate()
Generates a new random 64-bit unsigned integer from the given generator.
- Parameters
-
generator | A pointer to the random number generator to be used. |
- Returns
- A newly generated 64-bit unsigned integer.
◆ mtrand_generate_d()
Generates a new random 64-bit floating-point number from the given generator.
- Parameters
-
generator | A pointer to the random number generator to be used. |
- Returns
- A newly generated 64-bit floating-point number.