|
cxxomfort
rel.20210622
Simple backports for C++ - http://ryan.gulix.cl/fossil.cgi/cxxomfort/
|
Classes | |
| struct | splitmix64 |
| Pseudo-RNG generator. More... | |
Namespaces | |
| cxxomfort | |
Namespace of the cxxomfort library. | |
| cxxomfort::library | |
| Supplements to backports and other utilities. Namespace that holds the library's own implementations, emulations and supplements. | |
Typedefs | |
| typedef std::linear_congruential_engine< uint32_t, 1664525, 1013904223, 0 > | lcg_numerical_recipes_rand |
| LCG as it appears in Numerical Recipes. More... | |
| typedef std::linear_congruential_engine< uint64_t, 6364136223846793005, 1, 0 > | musl_rand |
LCG specification as it appears in MUSL Libc.This is an alternative to eg.: std::minstd and other linear congruential engines. More... | |
| typedef std::linear_congruential_engine< uint_least64_t, 0x00000005deece66dULL, 0xb, 0x0001000000000000ULL > | rand48 |
LCG specification as it appears in FreeBSD.This is an alternative to eg.: std::minstd and other linear congruential engines. More... | |
| typedef std::linear_congruential_engine< unsigned int, 0, 4, 0 > | xkcd221_rand |
| LCG specification following Randall Munroe's xkcd #221. More... | |
Functions | |
| template<typename Gen , typename Integer > | |
| Integer | uniform_choose (Gen &g, Integer a, Integer b) |
Given a generator g , generate and choose an integer in the range [a, b]. More... | |
| template<typename Gen , typename Iterator > | |
| Iterator | uniform_pick (Gen &g, Iterator ini, Iterator fin) |
Choose one in a sequence of values [ini,fin). More... | |
| lcg_numerical_recipes_rand |
LCG as it appears in Numerical Recipes.
This is an alternative to eg.: std::minstd and other linear congruential engines, using as parameters to the generator the parameters specified in Numerical Recipes .
When invoked with operator() returns a uint32_t value.
| musl_rand |
LCG specification as it appears in MUSL Libc.This is an alternative to eg.: std::minstd and other linear congruential engines.
When invoked with operator() returns a uint64_t value.
| rand48 |
LCG specification as it appears in FreeBSD.This is an alternative to eg.: std::minstd and other linear congruential engines.
When invoked with operator() returns a uint64_t value within a range that uses the first (lowest) 48 bits.
| xkcd221_rand |
LCG specification following Randall Munroe's xkcd #221.
This is an alternative to eg.: std::minstd and other linear congruential engines.
When invoked with operator() returns a unsigned value. The generator is equivalent to the following hand-written code:
| Integer cxxomfort::library::random::uniform_choose | ( | Gen & | g, |
| Integer | a, | ||
| Integer | b | ||
| ) |
Given a generator g , generate and choose an integer in the range [a, b].
| g | A generator object (lvalue). |
Referenced by cxxomfort::library::random::uniform_choose().
| Iterator cxxomfort::library::random::uniform_pick | ( | Gen & | g, |
| Iterator | ini, | ||
| Iterator | fin | ||
| ) |
Choose one in a sequence of values [ini,fin).
| ini,fin | A sequence's begin and end iterators. |
[ini,fin).This function uses uniform_choose() on the passed generator g to uniformly pick one iterator within the desired range.
Referenced by cxxomfort::library::random::uniform_pick().
1.8.13