|
Theoretica
Mathematical Library
|
Pseudorandom number generation algorithms. More...
Go to the source code of this file.
Namespaces | |
| namespace | theoretica |
| Main namespace of the library which contains all functions and objects. | |
Typedefs | |
| using | theoretica::pseudorandom_function = uint64_t(*)(uint64_t, std::vector< uint64_t > &) |
| A function pointer which wraps a pseudorandom generator, taking as input the previous generated value (or seed) and the current state of the algorithm. | |
Functions | |
| uint64_t | theoretica::randgen_congruential (uint64_t x, uint64_t a=48271, uint64_t c=0, uint64_t m=((uint64_t) 1<< 31) - 1) |
| Generate a pseudorandom natural number using the congruential pseudorandom number generation algorithm. | |
| uint64_t | theoretica::randgen_congruential (uint64_t x, std::vector< uint64_t > &state) |
| Generate a pseudorandom natural number using the congruential pseudorandom number generation algorithm (wrapper) | |
| uint64_t | theoretica::randgen_xoshiro (uint64_t &a, uint64_t &b, uint64_t &c, uint64_t &d) |
| Generate a pseudorandom natural number using the xoshiro256++ pseudorandom number generation algorithm. | |
| uint64_t | theoretica::randgen_xoshiro (uint64_t x, std::vector< uint64_t > &state) |
| Generate a pseudorandom natural number using the xoshiro256++ pseudorandom number generation algorithm (wrapper) | |
| uint64_t | theoretica::randgen_splitmix64 (uint64_t x) |
| Generate a pseudorandom natural number using the SplitMix64 pseudorandom number generation algorithm. | |
| uint64_t | theoretica::randgen_splitmix64 (uint64_t x, std::vector< uint64_t > &p) |
| Generate a pseudorandom natural number using the SplitMix64 pseudorandom number generation algorithm. | |
| uint64_t | theoretica::randgen_wyrand (uint64_t &seed, uint64_t p1, uint64_t p2) |
| Generate a pseudorandom natural number using the Wyrand pseudorandom number generation, as invented by Yi Wang. | |
| uint64_t | theoretica::randgen_wyrand (uint64_t x, std::vector< uint64_t > &p) |
| Generate a pseudorandom natural number using the Wyrand pseudorandom number generation, as invented by Yi Wang (wrapper) | |
| uint64_t | theoretica::randgen_middlesquare (uint64_t seed, uint64_t offset=765872292751861) |
| Generate a pseudorandom natural number using the middle-square pseudorandom number generation algorithm. | |
| uint64_t | theoretica::randgen_middlesquare (uint64_t x, std::vector< uint64_t > &p) |
| Generate a pseudorandom natural number using the middle-square pseudorandom number generation algorithm (wrapper) | |
Pseudorandom number generation algorithms.