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 std::string | str () const override |
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 |
![]() | |
virtual uint64_t | getNumbersDrawn () const |
double | doubleRandNonzIncl1 () |
![]() | |
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::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 | |
![]() | |
virtual void | take (cOwnedObject *obj) |
virtual void | drop (cOwnedObject *obj) |
void | dropAndDelete (cOwnedObject *obj) |
|
overridevirtual |
Returns a brief, one-line description of the object. The returned string does (should) NOT include the object's name and class. This method is used to display object information at several places in the Qtenv GUI, among others.
Reimplemented from cObject.
|
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.