Zero  0.1.0
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
lintel::MersenneTwisterInternal Class Reference

Mersenne Twister random number generation class. More...

#include <MersenneTwisterRandom.hpp>

Public Member Functions

 MersenneTwisterInternal (uint32_t seed=0)
 
 MersenneTwisterInternal (std::vector< uint32_t > seed_array)
 
void init (uint32_t seed)
 
void initArray (std::vector< uint32_t > seed_array)
 
uint32_t randInt ()
 
uint32_t seedUsed ()
 

Static Public Member Functions

static void selfTest ()
 

Public Attributes

uint32_t seed_used
 

Private Member Functions

void reloadArray ()
 

Private Attributes

uint32_t mt [N]
 
int mti
 

Static Private Attributes

static const int N = 624
 
static const int M = 397
 
static const uint32_t MATRIX_A = 0x9908b0dfUL
 
static const uint32_t UPPER_MASK = 0x80000000UL
 
static const uint32_t LOWER_MASK = 0x7fffffffUL
 
static const uint32_t TEMPERING_MASK_B = 0x9d2c5680UL
 
static const uint32_t TEMPERING_MASK_C = 0xefc60000UL
 
static const int TEMPERING_SHIFT_U = 11
 
static const int TEMPERING_SHIFT_S = 7
 
static const int TEMPERING_SHIFT_T = 15
 
static const int TEMPERING_SHIFT_L = 18
 

Detailed Description

Mersenne Twister random number generation class.

Constructor & Destructor Documentation

§ MersenneTwisterInternal() [1/2]

MersenneTwisterInternal::MersenneTwisterInternal ( uint32_t  seed = 0)

§ MersenneTwisterInternal() [2/2]

MersenneTwisterInternal::MersenneTwisterInternal ( std::vector< uint32_t >  seed_array)

Member Function Documentation

§ init()

void MersenneTwisterInternal::init ( uint32_t  seed)

§ initArray()

void MersenneTwisterInternal::initArray ( std::vector< uint32_t >  seed_array)

§ randInt()

uint32_t lintel::MersenneTwisterInternal::randInt ( )
inline

§ reloadArray()

void MersenneTwisterInternal::reloadArray ( )
private

§ seedUsed()

uint32_t lintel::MersenneTwisterInternal::seedUsed ( )
inline

§ selfTest()

static void lintel::MersenneTwisterInternal::selfTest ( )
static

Member Data Documentation

§ LOWER_MASK

const uint32_t lintel::MersenneTwisterInternal::LOWER_MASK = 0x7fffffffUL
staticprivate

§ M

const int lintel::MersenneTwisterInternal::M = 397
staticprivate

§ MATRIX_A

const uint32_t lintel::MersenneTwisterInternal::MATRIX_A = 0x9908b0dfUL
staticprivate

§ mt

uint32_t lintel::MersenneTwisterInternal::mt[N]
private

§ mti

int lintel::MersenneTwisterInternal::mti
private

§ N

const int lintel::MersenneTwisterInternal::N = 624
staticprivate

§ seed_used

uint32_t lintel::MersenneTwisterInternal::seed_used

§ TEMPERING_MASK_B

const uint32_t lintel::MersenneTwisterInternal::TEMPERING_MASK_B = 0x9d2c5680UL
staticprivate

§ TEMPERING_MASK_C

const uint32_t lintel::MersenneTwisterInternal::TEMPERING_MASK_C = 0xefc60000UL
staticprivate

§ TEMPERING_SHIFT_L

const int lintel::MersenneTwisterInternal::TEMPERING_SHIFT_L = 18
staticprivate

§ TEMPERING_SHIFT_S

const int lintel::MersenneTwisterInternal::TEMPERING_SHIFT_S = 7
staticprivate

§ TEMPERING_SHIFT_T

const int lintel::MersenneTwisterInternal::TEMPERING_SHIFT_T = 15
staticprivate

§ TEMPERING_SHIFT_U

const int lintel::MersenneTwisterInternal::TEMPERING_SHIFT_U = 11
staticprivate

§ UPPER_MASK

const uint32_t lintel::MersenneTwisterInternal::UPPER_MASK = 0x80000000UL
staticprivate

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