# 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

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

## Static Protected Member Functions

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

## Static Protected Attributes

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 Thu Sep 18 12:42:26 2008 for NOX by  1.3.9.1