Bridge++  Ver. 1.2.x
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RandomNumbers_MT19937 Class Reference

#include <randomNumbers_MT19937.h>

Inheritance diagram for RandomNumbers_MT19937:
RandomNumbers

Public Member Functions

 RandomNumbers_MT19937 (int s)
 
 RandomNumbers_MT19937 (unsigned long s)
 
 RandomNumbers_MT19937 (std::vector< unsigned long > &key)
 
 RandomNumbers_MT19937 (const std::string &filename)
 
 ~RandomNumbers_MT19937 ()
 
double get ()
 
void writefile (const std::string &)
 
void readfile (const std::string &)
 
- Public Member Functions inherited from RandomNumbers
 RandomNumbers ()
 
virtual ~RandomNumbers ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
void gauss (double &rn1, double &rn2)
 
virtual void gauss_lex_global (Field &)
 gaussian random number defined on global lattice. More...
 
virtual void gauss_eo_global (Field &)
 gaussian noise for even-odd perconditioned field (S.UEDA) More...
 
virtual void uniform_lex_global (Field &)
 uniform random number defined on global lattice. More...
 

Private Types

enum  { N =624, M =397 }
 

Private Member Functions

void init (unsigned long s)
 
void init (unsigned long s, std::vector< unsigned long > &key)
 
void nextState () const
 
unsigned long twist (unsigned long u, unsigned long v) const
 
unsigned long randInt32 () const
 
long randInt31 () const
 
double randDouble1 () const
 
double randDouble2 () const
 
double randDouble3 () const
 
double randRes53 () const
 

Private Attributes

int m_left
 
unsigned long m_state [N]
 
unsigned long * m_next
 

Static Private Attributes

static const std::string class_name = "RandomNumbers_MT19937"
 

Additional Inherited Members

- Static Public Attributes inherited from RandomNumbers
static const std::string class_name = "RandomNumbers"
 
- Protected Attributes inherited from RandomNumbers
Bridge::VerboseLevel m_vl
 

Detailed Description

Definition at line 43 of file randomNumbers_MT19937.h.

Member Enumeration Documentation

anonymous enum
private
Enumerator
N 
M 

Definition at line 86 of file randomNumbers_MT19937.h.

Constructor & Destructor Documentation

RandomNumbers_MT19937::RandomNumbers_MT19937 ( int  s)

Definition at line 19 of file randomNumbers_MT19937.cpp.

RandomNumbers_MT19937::RandomNumbers_MT19937 ( unsigned long  s)

Definition at line 30 of file randomNumbers_MT19937.cpp.

RandomNumbers_MT19937::RandomNumbers_MT19937 ( std::vector< unsigned long > &  key)
RandomNumbers_MT19937::RandomNumbers_MT19937 ( const std::string &  filename)
RandomNumbers_MT19937::~RandomNumbers_MT19937 ( )
inline

Definition at line 54 of file randomNumbers_MT19937.h.

Member Function Documentation

double RandomNumbers_MT19937::get ( )
inlinevirtual

Implements RandomNumbers.

Definition at line 56 of file randomNumbers_MT19937.h.

void RandomNumbers_MT19937::init ( unsigned long  s)
private

Definition at line 120 of file randomNumbers_MT19937.cpp.

void RandomNumbers_MT19937::init ( unsigned long  s,
std::vector< unsigned long > &  key 
)
private
void RandomNumbers_MT19937::nextState ( ) const
private

Definition at line 169 of file randomNumbers_MT19937.cpp.

double RandomNumbers_MT19937::randDouble1 ( ) const
private

Definition at line 225 of file randomNumbers_MT19937.cpp.

double RandomNumbers_MT19937::randDouble2 ( ) const
private

Definition at line 234 of file randomNumbers_MT19937.cpp.

double RandomNumbers_MT19937::randDouble3 ( ) const
private

Definition at line 243 of file randomNumbers_MT19937.cpp.

long RandomNumbers_MT19937::randInt31 ( ) const
private

Definition at line 217 of file randomNumbers_MT19937.cpp.

unsigned long RandomNumbers_MT19937::randInt32 ( ) const
private

Definition at line 202 of file randomNumbers_MT19937.cpp.

double RandomNumbers_MT19937::randRes53 ( ) const
private

Definition at line 252 of file randomNumbers_MT19937.cpp.

void RandomNumbers_MT19937::readfile ( const std::string &  )

Definition at line 58 of file randomNumbers_MT19937.cpp.

unsigned long RandomNumbers_MT19937::twist ( unsigned long  u,
unsigned long  v 
) const
private

Definition at line 187 of file randomNumbers_MT19937.cpp.

void RandomNumbers_MT19937::writefile ( const std::string &  )

Definition at line 96 of file randomNumbers_MT19937.cpp.

Member Data Documentation

const std::string RandomNumbers_MT19937::class_name = "RandomNumbers_MT19937"
staticprivate

Definition at line 45 of file randomNumbers_MT19937.h.

int RandomNumbers_MT19937::m_left
mutableprivate

Definition at line 88 of file randomNumbers_MT19937.h.

unsigned long* RandomNumbers_MT19937::m_next
mutableprivate

Definition at line 90 of file randomNumbers_MT19937.h.

unsigned long RandomNumbers_MT19937::m_state[N]
mutableprivate

Definition at line 89 of file randomNumbers_MT19937.h.


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