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:
Generated on Thu Sep 18 12:40:48 2008 for NOX by doxygen 1.3.9.1