SST
7.0.0
StructuralSimulationToolkit

Implements a Mersennebased RNG for use in the SST core or components. More...
#include "sst/core/rng/mersenne.h"
Public Member Functions  
MersenneRNG (unsigned int seed)  
Create a new Mersenne RNG with a specified seed. More...  
MersenneRNG ()  
Creates a new Mersenne using a random seed which is obtained from the system clock. More...  
double  nextUniform () override 
Generates the next random number as a double value between 0 and 1.  
uint32_t  generateNextUInt32 () override 
Generates the next random number as an unsigned 32bit integer.  
uint64_t  generateNextUInt64 () override 
Generates the next random number as an unsigned 64bit integer.  
int64_t  generateNextInt64 () override 
Generates the next random number as a signed 64bit integer.  
int32_t  generateNextInt32 () override 
Generates the next random number as a signed 32bit integer.  
void  seed (uint64_t newSeed) 
Seed the XOR RNG.  
~MersenneRNG ()  
Destructor for Mersenne.  
Public Member Functions inherited from SST::RNG::SSTRandom  
virtual  ~SSTRandom () 
Destroys the random number generator.  
Implements a Mersennebased RNG for use in the SST core or components.
The Mersenne RNG provides a better "randomness" to the distribution of outputs but is computationally more expensive than the Marsaglia RNG.
MersenneRNG::MersenneRNG  (  unsigned int  seed  ) 
Create a new Mersenne RNG with a specified seed.
[in]  seed  The seed for this RNG 
References seed().
MersenneRNG::MersenneRNG  (  ) 
Creates a new Mersenne using a random seed which is obtained from the system clock.
Note this will give different results on different platforms and between runs.