class PRandom

Mersenne Twister random number generator.

Public Methods

[more] PRandom ()
Construct the random number generator.
[more] PRandom ( DWORD seed )
Construct the random number generator.
[more]void SetSeed ( DWORD seed )
Set the seed for the random number generator.
[more]unsigned Generate ()
Get the next psuedo-random number in sequence.
[more]inline operator unsigned ()
Get the next psuedo-random number in sequence
[more]static unsigned Number ()
Get the next psuedo-random number in sequence.


Documentation

Mersenne Twister random number generator. An application would create a static instance of this class, and then use if to generate a sequence of psuedo-random numbers.

Usually an application would simply use PRandom::Number() but if performance is an issue then it could also create a static local variable such as: { static PRandom rand; for (i = 0; i < 10000; i++) array[i] = rand; }

This method is not thread safe, so it is the applications responsibility to assure that its calls are single threaded.

o PRandom()
Construct the random number generator. This version will seed the random number generator with a value based on the system time as returned by time() and clock().

o PRandom( DWORD seed )
Construct the random number generator. This version allows the application to choose the seed, thus letting it get the same sequence of values on each run. Useful for debugging.
Parameters:
seed - New seed value, must not be zero

ovoid SetSeed( DWORD seed )
Set the seed for the random number generator.
Parameters:
seed - New seed value, must not be zero

ounsigned Generate()
Get the next psuedo-random number in sequence. This generates one pseudorandom unsigned integer (32bit) which is uniformly distributed among 0 to 2^32-1 for each call.

oinline operator unsigned()
Get the next psuedo-random number in sequence

ostatic unsigned Number()
Get the next psuedo-random number in sequence. This utilises a single system wide thread safe PRandom variable. All threads etc will share the same psuedo-random sequence.


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.