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.