mantaflow  0.10
A framework for fluid simulation
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
Manta::MTRand Class Reference

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)
 
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=1.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]
 
uint32 * pNext
 
int left
 

Friends

std::ostream & operator<< (std::ostream &os, const MTRand &mtrand)
 
std::istream & operator>> (std::istream &is, MTRand &mtrand)
 

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