Wraps the Mersenne Twister RNG by Makoto Matsumoto and Takuji Nishimura.
Mersenne Twister has a cycle length is 2^19937-1, and 623-dimensional equidistribution property is assured.
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ewhat-is-mt.html
Actual code used is MersenneTwister.h from Richard J. Wagner, v1.0, 15 May 2003, rjwag. ner@ write me.c om
http://www-personal.engin.umich.edu/~wagnerr/MersenneTwister.html
Public Member Functions | |
virtual void | initialize (int seedSet, int rngId, int numRngs, int parsimProcId, int parsimNumPartitions, cConfiguration *cfg) override |
virtual void | selfTest () override |
virtual uint32_t | intRand () override |
virtual uint32_t | intRandMax () override |
virtual uint32_t | intRand (uint32_t n) override |
virtual double | doubleRand () override |
virtual double | doubleRandNonz () override |
virtual double | doubleRandIncl1 () override |
Public Member Functions inherited from cRNG | |
virtual uint64_t | getNumbersDrawn () const |
double | doubleRandNonzIncl1 () |
Public Member Functions inherited from cObject | |
cObject () | |
cObject (const cObject &other)=default | |
virtual | ~cObject () |
virtual const char * | getClassName () const |
virtual const char * | getName () const |
bool | isName (const char *s) const |
virtual const char * | getFullName () const |
virtual std::string | getFullPath () const |
virtual std::string | getClassAndFullName () const |
virtual std::string | getClassAndFullPath () const |
const cObject * | getThisPtr () const |
virtual std::string | str () const |
virtual std::ostream & | printOn (std::ostream &os) const |
virtual cObject * | dup () const |
virtual void | parsimPack (cCommBuffer *buffer) const |
virtual void | parsimUnpack (cCommBuffer *buffer) |
virtual cObject * | getOwner () const |
virtual bool | isOwnedObject () const |
virtual bool | isSoftOwner () const |
virtual void | forEachChild (cVisitor *v) |
cObject * | findObject (const char *name, bool deep=true) |
virtual cClassDescriptor * | getDescriptor () const |
void | copyNotSupported () const |
Additional Inherited Members | |
Protected Member Functions inherited from cObject | |
virtual void | take (cOwnedObject *obj) |
virtual void | drop (cOwnedObject *obj) |
void | dropAndDelete (cOwnedObject *obj) |
|
overridevirtual |
Sets up the RNG.
Implements cRNG.
|
overridevirtual |
Tests correctness of the RNG
Implements cRNG.
|
overridevirtual |
Random integer in the range [0,intRandMax()]
Implements cRNG.
|
overridevirtual |
|
overridevirtual |
Random integer in [0,n), n < intRandMax()
Implements cRNG.
|
overridevirtual |
Random double on the [0,1) interval
Implements cRNG.
|
overridevirtual |
Random double on the (0,1) interval
Implements cRNG.
|
overridevirtual |
Random double on the [0,1] interval
Implements cRNG.