Created by Scott Robert Ladd at Coyote Gulch Productions.
An abstract definition of a peudorandom number generator. More...
#include <prng.h>
This class defines the generic properties of any psuedo-random number generator that returns a 32-bit unsigned result.
libcoyotl::prng::prng | ( | ) |
The constructor initializes the prng seed from either the time or some stochastic source such as /dev/random or /dev/urandom.
libcoyotl::prng::prng | ( | uint32_t | seed | ) |
Starts the PRNG with a specific seed; this is provided so that a given sequence of "random" values can be duplicated. Note that the actual sequence is predicated on the specific PRNG algorithm.
seed | - Seed value used to "start" or seed the generator |
virtual uint32_t libcoyotl::prng::get_rand | ( | ) | [pure virtual] |
Returns the next uint32_t in sequence.
Implemented in libcoyotl::cmwc4096, libcoyotl::kissrng, libcoyotl::mtwister, libcoyotl::mwc1038, and libcoyotl::mwc256.
Referenced by get_rand_real1(), get_rand_real2(), and get_rand_real3().
size_t libcoyotl::prng::get_rand_index | ( | size_t | length | ) | [inline] |
Returns the next value as a size_t "index" in the range [0,length).
length | - Maximum value of result |
References get_rand_real2().
uint32_t libcoyotl::prng::get_rand_range | ( | uint32_t | lo, |
uint32_t | hi | ||
) | [inline] |
Returns the next int_value between lo and hi, inclusive.
lo | - Minimum value of result |
hi | - Maximum value of result |
References get_rand_real2().
double libcoyotl::prng::get_rand_real1 | ( | ) | [inline] |
Returns the next real number in the range [0,1], i.e., a number greater than or equal to 0 and less than or equal to 1. Provides 32-bit precision.
References get_rand().
double libcoyotl::prng::get_rand_real2 | ( | ) | [inline] |
Returns the next real number in the range [0,1), i.e., a number greater than or equal to 0 and less than 1. Provides 32-bit precision.
References get_rand().
Referenced by get_rand_index(), and get_rand_range().
double libcoyotl::prng::get_rand_real3 | ( | ) | [inline] |
Returns the next real number in the range (0,1), i.e., a number greater than 0 and less than 1. Provides 32-bit precision.
References get_rand().
double libcoyotl::prng::get_rand_real53 | ( | ) |
Returns the next real number in the range [0,1), i.e., a number greater than or equal to 0 and less than 1. Provides 53-bit precision.
uint32_t libcoyotl::prng::get_seed | ( | ) | [inline] |
Returns the seed value used to initialize this generator.
References m_seed.
virtual void libcoyotl::prng::init | ( | uint32_t | seed | ) | [virtual] |
Resets the generator using the provided seed value.
seed | - Seed value used to "start" or seed the generator |
Reimplemented in libcoyotl::cmwc4096, libcoyotl::kissrng, libcoyotl::mtwister, libcoyotl::mwc1038, and libcoyotl::mwc256.
© 1996-2005 Scott Robert Ladd. All rights reserved.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.