#include <random.h>
Public Member Functions | |
| PRandom () | |
| PRandom (DWORD seed) | |
| void | SetSeed (DWORD seed) |
| unsigned | Generate () |
| operator unsigned () | |
Static Public Member Functions | |
| static unsigned | Number () |
Protected Types | |
| enum | { RandBits = 8, RandSize = 1<<RandBits } |
Protected Attributes | |
| DWORD | randcnt |
| DWORD | randrsl [RandSize] |
| DWORD | randmem [RandSize] |
| DWORD | randa |
| DWORD | randb |
| DWORD | randc |
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.
|
|
|
|
|
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(). |
|
|
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.
|
|
|
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. |
|
|
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. |
|
|
Get the next psuedo-random number in sequence. |
|
|
Set the seed for the random number generator.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.4.2