MTRand Class Reference

#include <MersenneTwister.h>

List of all members.

Public Types

enum  { N = 624 }
enum  { SAVE = N + 1 }
typedef unsigned long uint32

Public Member Functions

 MTRand (const uint32 &oneSeed)
 MTRand (uint32 *const bigSeed, uint32 const seedLength=N)
 MTRand ()
double rand ()
double rand (const double &n)
double randExc ()
double randExc (const double &n)
double randDblExc ()
double randDblExc (const double &n)
uint32 randInt ()
uint32 randInt (const uint32 &n)
double operator() ()
double rand53 ()
double randNorm (const double &mean=0.0, const double &variance=0.0)
void seed (const uint32 oneSeed)
void seed (uint32 *const bigSeed, const uint32 seedLength=N)
void seed ()
void save (uint32 *saveArray) const
void load (uint32 *const loadArray)

Protected Types

enum  { M = 397 }

Protected Member Functions

void initialize (const uint32 oneSeed)
void reload ()
uint32 hiBit (const uint32 &u) const
uint32 loBit (const uint32 &u) const
uint32 loBits (const uint32 &u) const
uint32 mixBits (const uint32 &u, const uint32 &v) const
uint32 twist (const uint32 &m, const uint32 &s0, const uint32 &s1) const

Static Protected Member Functions

static uint32 hash (time_t t, clock_t c)

Protected Attributes

uint32 state [N]
uint32pNext
int left


Member Typedef Documentation

typedef unsigned long MTRand::uint32


Member Enumeration Documentation

anonymous enum

Enumerator:
N 

anonymous enum

Enumerator:
SAVE 

anonymous enum [protected]

Enumerator:
M 


Constructor & Destructor Documentation

MTRand::MTRand ( const uint32 oneSeed  )  [inline]

MTRand::MTRand ( uint32 *const   bigSeed,
uint32 const  seedLength = N 
) [inline]

MTRand::MTRand (  )  [inline]


Member Function Documentation

double MTRand::rand (  )  [inline]

double MTRand::rand ( const double &  n  )  [inline]

double MTRand::randExc (  )  [inline]

double MTRand::randExc ( const double &  n  )  [inline]

double MTRand::randDblExc (  )  [inline]

double MTRand::randDblExc ( const double &  n  )  [inline]

MTRand::uint32 MTRand::randInt (  )  [inline]

MTRand::uint32 MTRand::randInt ( const uint32 n  )  [inline]

double MTRand::operator() (  )  [inline]

double MTRand::rand53 (  )  [inline]

double MTRand::randNorm ( const double &  mean = 0.0,
const double &  variance = 0.0 
) [inline]

void MTRand::seed ( const uint32  oneSeed  )  [inline]

void MTRand::seed ( uint32 *const   bigSeed,
const uint32  seedLength = N 
) [inline]

void MTRand::seed (  )  [inline]

void MTRand::save ( uint32 saveArray  )  const [inline]

void MTRand::load ( uint32 *const   loadArray  )  [inline]

void MTRand::initialize ( const uint32  oneSeed  )  [inline, protected]

void MTRand::reload (  )  [inline, protected]

uint32 MTRand::hiBit ( const uint32 u  )  const [inline, protected]

uint32 MTRand::loBit ( const uint32 u  )  const [inline, protected]

uint32 MTRand::loBits ( const uint32 u  )  const [inline, protected]

uint32 MTRand::mixBits ( const uint32 u,
const uint32 v 
) const [inline, protected]

uint32 MTRand::twist ( const uint32 m,
const uint32 s0,
const uint32 s1 
) const [inline, protected]

MTRand::uint32 MTRand::hash ( time_t  t,
clock_t  c 
) [inline, static, protected]


Member Data Documentation

uint32 MTRand::state[N] [protected]

uint32* MTRand::pNext [protected]

int MTRand::left [protected]


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

Generated on Fri Jul 25 16:11:19 2008 for EvolveTraffic by  doxygen 1.5.6