![]() |
The ROme OpTimistic Simulator
3.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
|
Pseudo random number generator for tests. More...
Go to the source code of this file.
Macros | |
#define | LCG_MULTIPLIER ((((__uint128_t)0x0fc94e3bf4e9ab32ULL) << 64) + 0x866458cd56f5e605ULL) |
The multiplier of this linear congruential PRNG generator. | |
#define | lcg_init(rng_state, initseq) (rng_state) = ((initseq) << 1u) | 1u |
Initializes the random number generator. More... | |
#define | lcg_random_u(rng_state) |
Computes a pseudo random 64 bit number. More... | |
#define | lcg_random(rng_state) |
Computes a pseudo random number in the [0, 1] range. More... | |
Typedefs | |
typedef __uint128_t | test_rng_state |
The type of this pseudo random number generator state. | |
Pseudo random number generator for tests.
An acceptable quality pseudo random number generator to be used in tests
Definition in file test_rng.h.
#define lcg_init | ( | rng_state, | |
initseq | |||
) | (rng_state) = ((initseq) << 1u) | 1u |
Initializes the random number generator.
rng_state | a test_rng_state object which will be initialized |
initseq | the seed to use to initialize rng_state |
Definition at line 30 of file test_rng.h.
#define lcg_random | ( | rng_state | ) |
Computes a pseudo random number in the [0, 1] range.
rng_state | a test_rng_state object |
Definition at line 49 of file test_rng.h.
#define lcg_random_u | ( | rng_state | ) |
Computes a pseudo random 64 bit number.
rng_state | a test_rng_state object |
Definition at line 37 of file test_rng.h.