SST  13.0.0
StructuralSimulationToolkit
SST::RNG::MersenneRNG Class Reference

Implements a Mersenne-based RNG for use in the SST core or components. More...

#include "sst/core/rng/mersenne.h"

Inheritance diagram for SST::RNG::MersenneRNG:
SST::RNG::Random

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 32-bit integer.
 
uint64_t generateNextUInt64 () override
 Generates the next random number as an unsigned 64-bit integer.
 
int64_t generateNextInt64 () override
 Generates the next random number as a signed 64-bit integer.
 
int32_t generateNextInt32 () override
 Generates the next random number as a signed 32-bit integer.
 
void seed (uint64_t newSeed)
 Seed the XOR RNG.
 
 ~MersenneRNG ()
 Destructor for Mersenne.
 
- Public Member Functions inherited from SST::RNG::Random
virtual ~Random ()
 Destroys the random number generator.
 

Detailed Description

Implements a Mersenne-based 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.

Constructor & Destructor Documentation

◆ MersenneRNG() [1/2]

MersenneRNG::MersenneRNG ( unsigned int  seed)

Create a new Mersenne RNG with a specified seed.

Parameters
[in]seedThe seed for this RNG

References seed().

◆ MersenneRNG() [2/2]

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.


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