npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
npstat::MersenneTwister Class Reference

#include <MersenneTwister.hh>

Inheritance diagram for npstat::MersenneTwister:
npstat::AbsRandomGenerator

Public Member Functions

 MersenneTwister ()
 
 MersenneTwister (unsigned long seed)
 
 MersenneTwister (const MersenneTwister &)
 
MersenneTwisteroperator= (const MersenneTwister &)
 
unsigned dim () const
 
double operator() ()
 
- Public Member Functions inherited from npstat::AbsRandomGenerator
virtual unsigned long long maxPoints () const
 
virtual void run (double *buf, const unsigned bufLen, const unsigned nPt)
 

Detailed Description

Generator of pseudo-random numbers (with period 2^19937-1). Based on the interface written by Richard J. Wagner to the original Mersenne Twister.

Reference: M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.

Constructor & Destructor Documentation

◆ MersenneTwister()

npstat::MersenneTwister::MersenneTwister ( )

The default constructor will read /dev/urandom to get the seed

Member Function Documentation

◆ dim()

unsigned npstat::MersenneTwister::dim ( ) const
inlinevirtual

Dimensionality of the generated vectors (or points). It is expected that "dim()" will always be 1 for pseudo-random (as opposed to quasi-random) generators.

Implements npstat::AbsRandomGenerator.

◆ operator()()

double npstat::MersenneTwister::operator() ( )
virtual

Standard 1-d generator function. It should generate a run-time error for essentially multivariate generators whose dimensionality is larger than 1.

Implements npstat::AbsRandomGenerator.


The documentation for this class was generated from the following file: