55 std::unique_ptr<std::mt19937_64>
engine;
63 RNG(uint64_t seed = 0) :
engine(std::make_unique<std::mt19937_64>(seed))
74 :
engine(std::make_unique<std::mt19937_64>(*(other.
engine)))
101 int32_t
getInt32(int32_t min, int32_t max);
111 double getDouble(
double min,
double max);
std::unique_ptr< std::mt19937_64 > engine
Mersenne twister MT19937 engine used for Random Number generation.
Definition: rng.h:55
RNG(const RNG &other)
Copy constructor.
Definition: rng.h:73
RNG(uint64_t seed=0)
Default seeding constructor for RNG.
Definition: rng.h:63
int32_t getInt32(int32_t min, int32_t max)
Get a pseudo random int number between two bounds (included).
Definition: rng.cpp:50
uint64_t getUnsignedInt64(uint64_t min, uint64_t max)
Get a pseudo random int number between two bounds (included).
Definition: rng.cpp:44
double getDouble(double min, double max)
Get a pseudo random double number between two bounds (included).
Definition: rng.cpp:56
void setSeed(uint64_t seed)
Set the seed of the random number generator.
Definition: rng.cpp:39
Definition: deterministicRandom.h:44