NOX::Random Class Reference

A class to compute uniformly distributed random numbers in (-1,1). More...

`#include <NOX_Random.H>`

List of all members.

Public Member Functions

Random ()
Initialize random number generator with a random seed.
Random (int s)
Initialize random number generator with the given seed.

Static Public Member Functions

static void setSeed (int s)
Set the seed to s.
static double number ()
Compute a random number.

Static Protected Member Functions

static int checkSeed (const string &func, int s)
Checks that the supplied seed value is valid and returns a valid seed.

Static Protected Attributes

static double seed = 1.0
Seed value.

Detailed Description

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).

Constructor & Destructor Documentation

 NOX::Random::Random ( )

Initialize random number generator with a random seed.

The random seed is computed using the POSIX rand() function.

 NOX::Random::Random ( int s )

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.

Member Function Documentation

 int NOX::Random::checkSeed ( const string & func, int s ) ` [static, protected]`

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.

 void NOX::Random::setSeed ( int s ) ` [static]`

Set the seed to s.

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.

The documentation for this class was generated from the following files:
• NOX_Random.H
• NOX_Random.C

Generated on Wed May 12 21:26:26 2010 for NOX by  1.4.7