![]() |
Public API Reference |
![]() |
Portable random number generator class. More...
#include <csutil/randomgen.h>
Public Member Functions | |
csRandomGen () | |
Initialize the random number generator using current time() | |
csRandomGen (uint32 iSeed) | |
Initialize the random number generator given a seed. | |
float | Get () |
Get a floating-point random number in range 0 <= num < 1. | |
uint32 | Get (uint32 iLimit) |
Get a uint32 integer random number in range 0 <= num < iLimit. | |
void | Initialize () |
Initialize the RNG using current time() as the seed value. | |
void | Initialize (uint32 iSeed) |
Select the random sequence number (942,438,978 sequences available) | |
bool | SelfTest () |
Perform a self-test. |
Portable random number generator class.
The reason for using this class if that you may want a consistent random number generator across all platforms supported by Crystal Space. Besides, in general it is a better quality RNG than the one supplied in most C runtime libraries. Personally I observed a significant improvement in a random terrain generator I made after I switched to this RNG.
Definition at line 58 of file randomgen.h.
csRandomGen::csRandomGen | ( | ) | [inline] |
Initialize the random number generator using current time()
Definition at line 66 of file randomgen.h.
csRandomGen::csRandomGen | ( | uint32 | iSeed | ) | [inline] |
Initialize the random number generator given a seed.
Definition at line 69 of file randomgen.h.
float csRandomGen::Get | ( | ) | [inline] |
Get a floating-point random number in range 0 <= num < 1.
Definition at line 78 of file randomgen.h.
uint32 csRandomGen::Get | ( | uint32 | iLimit | ) |
Get a uint32 integer random number in range 0 <= num < iLimit.
void csRandomGen::Initialize | ( | ) |
Initialize the RNG using current time() as the seed value.
void csRandomGen::Initialize | ( | uint32 | iSeed | ) |
Select the random sequence number (942,438,978 sequences available)
bool csRandomGen::SelfTest | ( | ) |
Perform a self-test.