Implementation for file inc/util/random.h. More...
Include dependency graph for random.cpp:Namespaces | |
| namespace | syten |
| Syten namespace. | |
| namespace | syten::Random |
| The random number generation engine generation subsystem. | |
Functions | |
| void | syten::Random::disableReproducible () |
Sets the global seed to zero, causing non-reproducible generation of random number engines by genEngine(). More... | |
| Engine | syten::Random::genEngine () |
| Returns a random number generation engine. More... | |
| Result | syten::Random::genValue () |
| Generates a single value from the internal LCG, mainly useful for debugging. More... | |
| Result const & | syten::Random::getSeed () |
| Returns the seed used by the internal LCG. More... | |
| Result | syten::Random::initReproducible (Result const seed_=0) |
| Initialises the global generating random number engine. More... | |
| bool | syten::Random::isReproducible () |
| Returns true if the global seed is non-zero and no threading is used. More... | |
Variables | |
| std::linear_congruential_engine< Result, 6364136223846793005ULL, 1442695040888963407ULL, 18446744073709551615ULL > | syten::Random::engine {std::random_device()()} |
| Engine used to generate seeds for genEngine() below. More... | |
| std::mutex | syten::Random::mtx_engine |
| Mutex protecting genEngine (and engine) below if seed is non-zero. More... | |
| Result | syten::Random::seed {0} |
| global seed, if zero, none was set and genEngine() is non-deterministic More... | |
Implementation for file inc/util/random.h.