Implementation for file inc/util/random.h. More...
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.