A class to compute uniformly distributed random numbers in (-1,1). More...
|Initialize random number generator with a random seed. |
|Random (int s)|
|Initialize random number generator with the given seed. |
|static void||setSeed (int s)|
|Set the seed to s. |
|static double||number ()|
|Compute a random number. |
|static int||checkSeed (const std::string &func, int s)|
|Checks that the supplied seed value is valid and returns a valid seed. |
|static double||seed = 1.0|
|Seed value. |
A class to compute uniformly distributed random numbers in (-1,1).
The Random class computes pseudo-random (double precision) numbers uniformly distributed between -1.0 and 1.0 using a multiplicative congruential generator with modulus 2^31-1 (a Lehmer generator). For a numerical and mathematical treatment of the algorithm, see "Random number generators: good ones are hard to find" by Stephen K. Park and Keith W. Miller, Communications of the ACM, Vol. 31 No. 10 (1988).
Initialize random number generator with a random seed.
The random seed is computed using the POSIX rand() function.
Initialize random number generator with the given seed.
The seed should be an integer between 1 and 2147483646 = 2^32-2 (inclusive). If the supplied seed is invalid, an error message is printed and the seed is replaced by 1.
|int NOX::Random::checkSeed||(||const std::string &||func,|
Checks that the supplied seed value is valid and returns a valid seed.
The string argument supplies the calling function name for an error message in the case that the supplied seed is invalid.