Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

NUM::RandomNumberGenerator_Base Class Reference

Random number generator base class. More...

#include <rng.h>

Inheritance diagram for NUM::RandomNumberGenerator_Base:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 RandomNumberGenerator_Base (const RandomNumberGenerator_Base &)
 Do not use.

void operator= (const RandomNumberGenerator_Base &)
 Do not use.

 RandomNumberGenerator_Base ()
virtual ~RandomNumberGenerator_Base ()
virtual void seed (uint32 seed)
 (Re-)initialize ("seed") the PRNG with seed value.

virtual uint32 rand_uint32 ()
 Generate random number in the range [0,0xffffffff]. Must be overridden.

virtual int32 rand_int32 ()
 Generate random number in the range [0,0x7fffffff].

virtual dbl rand_dbl32o ()
 Generate "31 or 32-bit" random number in the range [0,1).

virtual dbl rand_dbl32 ()
 Generate "31 or 32-bit" random number in the range [0,1].

virtual dbl rand_dbl53o ()
 Generate "53-bit" random number in the range [0,1).

virtual dbl rand_dbl53 ()
 Generate "53-bit" random number in the range [0,1].


Detailed Description

Random number generator base class.

Author:
Wolfgang Wieser ] wwieser (a) gmx <*> de [
NOTE: Interface probably subject to change.

Class is not "C++-safe"; please use the RandomNumberGenerator class.

Todo:
should add method to query information (name, period)

Definition at line 41 of file rng.h.


Constructor & Destructor Documentation

NUM::RandomNumberGenerator_Base::RandomNumberGenerator_Base const RandomNumberGenerator_Base  ) 
 

Do not use.

NUM::RandomNumberGenerator_Base::RandomNumberGenerator_Base  )  [inline]
 

Definition at line 52 of file rng.h.

virtual NUM::RandomNumberGenerator_Base::~RandomNumberGenerator_Base  )  [inline, virtual]
 

Definition at line 53 of file rng.h.


Member Function Documentation

void NUM::RandomNumberGenerator_Base::operator= const RandomNumberGenerator_Base  ) 
 

Do not use.

virtual dbl NUM::RandomNumberGenerator_Base::rand_dbl32  )  [inline, virtual]
 

Generate "31 or 32-bit" random number in the range [0,1].

Reimplemented in NUM::RandomNumberGenerator_LibCRandom, and NUM::RandomNumberGenerator_MersenneTwister19937.

Definition at line 82 of file rng.h.

References dbl, and rand_uint32().

virtual dbl NUM::RandomNumberGenerator_Base::rand_dbl32o  )  [inline, virtual]
 

Generate "31 or 32-bit" random number in the range [0,1).

Reimplemented in NUM::RandomNumberGenerator_LibCRandom, and NUM::RandomNumberGenerator_MersenneTwister19937.

Definition at line 79 of file rng.h.

References dbl, and rand_uint32().

virtual dbl NUM::RandomNumberGenerator_Base::rand_dbl53  )  [inline, virtual]
 

Generate "53-bit" random number in the range [0,1].

Reimplemented in NUM::RandomNumberGenerator_LibCRandom, and NUM::RandomNumberGenerator_MersenneTwister19937.

Definition at line 92 of file rng.h.

References dbl, rand_uint32(), and uint32.

virtual dbl NUM::RandomNumberGenerator_Base::rand_dbl53o  )  [inline, virtual]
 

Generate "53-bit" random number in the range [0,1).

Reimplemented in NUM::RandomNumberGenerator_LibCRandom, and NUM::RandomNumberGenerator_MersenneTwister19937.

Definition at line 86 of file rng.h.

References dbl, rand_uint32(), and uint32.

virtual int32 NUM::RandomNumberGenerator_Base::rand_int32  )  [inline, virtual]
 

Generate random number in the range [0,0x7fffffff].

Reimplemented in NUM::RandomNumberGenerator_LibCRandom, and NUM::RandomNumberGenerator_MersenneTwister19937.

Definition at line 75 of file rng.h.

References int32, and rand_uint32().

uint32 NUM::RandomNumberGenerator_Base::rand_uint32  )  [virtual]
 

Generate random number in the range [0,0xffffffff]. Must be overridden.

This is the main RNG function which _MUST_ be overridden. All others have default implementations here which _CAN_ be overridden.

Reimplemented in NUM::RandomNumberGenerator_LibCRandom, and NUM::RandomNumberGenerator_MersenneTwister19937.

Definition at line 28 of file rng.cc.

References CritAssert, and uint32.

Referenced by rand_dbl32(), rand_dbl32o(), rand_dbl53(), rand_dbl53o(), and rand_int32().

void NUM::RandomNumberGenerator_Base::seed uint32  seed  )  [virtual]
 

(Re-)initialize ("seed") the PRNG with seed value.

Initializes the state vector by using one unsigned 32-bit integer "seed".

This function _MUST_ be overridden.

Reimplemented in NUM::RandomNumberGenerator_LibCRandom, and NUM::RandomNumberGenerator_MersenneTwister19937.

Definition at line 22 of file rng.cc.

References CritAssert, and uint32.


The documentation for this class was generated from the following files:
Generated on Sat Feb 19 22:36:01 2005 for Ray by doxygen 1.3.5