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.