template<unsigned int internalCounterBits = 64>
class gmx::ThreeFry2x64Fast< internalCounterBits >
ThreeFry2x64 random engine with 13 iteractions.
- Template Parameters
-
internalCounterBits,default | 64. |
This class provides relatively high quality random numbers that only fail one BigCrush test, and it is a bit faster than the 20-round version. It works with two 64-bit values each for keys and counters, and is most efficient when we only need a few random values before restarting the counters with new values.
|
| ThreeFry2x64Fast (uint64_t key0=0, RandomDomain domain=RandomDomain::Other) |
| Construct ThreeFry random engine with 2x64 key values, 13 rounds. More...
|
|
| ThreeFry2x64Fast (uint64_t key0, uint64_t key1) |
| Construct ThreeFry random engine from 2x64-bit unsigned integers, 13 rounds. More...
|
|
| ThreeFry2x64General (uint64_t key0=0, RandomDomain domain=RandomDomain::Other) |
| Construct random engine with 2x64 key values. More...
|
|
| ThreeFry2x64General (uint64_t key0, uint64_t key1) |
| Construct random engine from 2x64-bit unsigned integers. More...
|
|
void | seed (uint64_t key0=0, RandomDomain domain=RandomDomain::Other) |
| Seed 2x64 random engine with two 64-bit key values. More...
|
|
void | seed (uint64_t key0, uint64_t key1) |
| Seed random engine from 2x64-bit unsigned integers. More...
|
|
void | restart (uint64_t ctr0=0, uint64_t ctr1=0) |
| Restart 2x64 random engine counter from 2 64-bit values. More...
|
|
result_type | operator() () |
| Generate the next random number. More...
|
|
void | discard (uint64_t n) |
| Skip next n random numbers. More...
|
|
bool | operator== (const ThreeFry2x64General< rounds, internalCounterBits > &x) const |
| Return true if two ThreeFry2x64 engines are identical. More...
|
|
bool | operator!= (const ThreeFry2x64General< rounds, internalCounterBits > &x) const |
| Return true of two ThreeFry2x64 engines are not identical. More...
|
|