#include <RandomGenerators.hpp>
Public Member Functions | |
uint64_t | operator() () |
void | seed (uint64_t seed) |
SplitMix64 (const SplitMix64 &gen) | |
SplitMix64 (SplitMix64 &&gen) | |
SplitMix64 (uint64_t seed) | |
Static Public Member Functions | |
static constexpr result_type | max () |
static constexpr result_type | min () |
Private Attributes | |
uint64_t | x |
This is a fixed-increment version of Java 8's SplittableRandom generator See http://dx.doi.org/10.1145/2714064.2660195 and http://docs.oracle.com/javase/8/docs/api/java/util/SplittableRandom.html
It is a very fast generator passing BigCrush, and it can be useful if for some reason you absolutely want 64 bits of state; otherwise, we rather suggest to use a xorshift128+ (for moderately parallel computations) or xorshift1024* (for massively parallel computations) generator.
Definition at line 34 of file RandomGenerators.hpp.
ApproxMVBB::RandomGenerators::SplitMix64::SplitMix64 | ( | const SplitMix64 & | gen | ) |
ApproxMVBB::RandomGenerators::SplitMix64::SplitMix64 | ( | uint64_t | seed | ) | [inline] |
Definition at line 192 of file RandomGenerators.hpp.
static constexpr result_type ApproxMVBB::RandomGenerators::SplitMix64::max | ( | ) | [inline, static] |
Definition at line 49 of file RandomGenerators.hpp.
static constexpr result_type ApproxMVBB::RandomGenerators::SplitMix64::min | ( | ) | [inline, static] |
Definition at line 48 of file RandomGenerators.hpp.
uint64_t ApproxMVBB::RandomGenerators::SplitMix64::operator() | ( | ) | [inline] |
Definition at line 196 of file RandomGenerators.hpp.
void ApproxMVBB::RandomGenerators::SplitMix64::seed | ( | uint64_t | seed | ) | [inline] |
Definition at line 194 of file RandomGenerators.hpp.
uint64_t ApproxMVBB::RandomGenerators::SplitMix64::x [private] |
Definition at line 36 of file RandomGenerators.hpp.