OERandom

class OERandom

This class represents OERandom.

The OERandom class provides a portable pseudo-random number generator.

Constructors

OERandom(bool timeseed=false)

The ‘timeseed’ argument to the OERandom constructor indicates whether the pseudo random number generator should initialize (or seed) its sequence from the system clock.

GetSeed

unsigned int GetSeed() const

Return the current state of the random number generator so that a new OERandom object can be created and restarted from the given state. To restart a OERandom object at a given location, pass this seed into OERandom.Seed.

Warning

The datatype of this method will likely change in a future release when a better random number generator will be implemented.

NextFloat

float NextFloat()

Returns the next pseudo-random floating point value in the range [0.0, 1.0). To convert this value into an integer range, for example 10 discrete values, use int i = (int)floor(10.0*r.NextFloat()), which should return values in the range 0 to 9 inclusive.

NextInt

int NextInt()

Return the next random integer in this sequence of random numbers. The returned integer will never be negative.

Seed

void Seed(unsigned int seed)

Sets the pseudo random number generator seed to a given value. The OERandom class uses a deterministic linear congruential class of pseudo random number generator (PRNG). Setting the seed to a specific value, causes the sequence of subsequent OERandom.NextFloat values to be identical on all platforms. This may be useful for testing stochastic algorithms on different architectures/operating systems.

TimeSeed

void TimeSeed()

Seeds this random number generator based upon the number of seconds since January 1, 1970, Coordinated Universal Time.