36 #if !defined(LIBCOYOTL_PRNG_H) 37 #define LIBCOYOTL_PRNG_H 82 virtual void init(uint32_t seed);
164 double range = hi - lo + 1.0;
183 return double(
get_rand()) * (1.0 / 4294967295.0);
192 return double(
get_rand()) * (1.0 / 4294967296.0);
201 return double((
double(
get_rand()) + 0.5) * (1.0 / 4294967296.0));
double get_rand_real1()
Get the next number in the range [0,1].
Definition: prng.h:180
prng()
Default constructor, reading seed from/dev/urandom or the time.
size_t get_rand_index(size_t length)
Get the next random value as a size_t index.
Definition: prng.h:172
double get_rand_real3()
Get the next number in the range (0,1)
Definition: prng.h:198
uint32_t get_seed()
Returns the original seed value.
Definition: prng.h:154
double get_rand_real2()
Get the next number in the range [0,1)
Definition: prng.h:189
uint32_t get_rand_range(uint32_t lo, uint32_t hi)
Get the next integer in the range [lo,hi].
Definition: prng.h:161
virtual void init(uint32_t seed)
Initializes the generator with "seed".
virtual uint32_t get_rand()=0
Get the next integer.
double get_rand_real53()
Get the next number in the range [0,1)
An abstract definition of a peudorandom number generator.
Definition: prng.h:54
uint32_t m_seed
Initialization seed.
Definition: prng.h:58