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

Random number generator base on M-series. More...

#include <randomNumbers_Mseries.h>

Inheritance diagram for RandomNumbers_Mseries:
RandomNumbers

Public Member Functions

 RandomNumbers_Mseries (const int ndelay)
 
 RandomNumbers_Mseries (const std::string filename)
 
double get ()
 
void writefile (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)
 
void uniform (Field &)
 
void gauss (Field &)
 
void gauss_lex_global (Field &)
 gaussian random number defined on global lattice. More...
 
void gauss_eo_global (Field &)
 gaussian noise for even-odd perconditioned field (S.UEDA) More...
 
void uniform_lex_global (Field &)
 uniform random number defined on global lattice. More...
 

Protected Attributes

Bridge::VerboseLevel m_vl
 
- Protected Attributes inherited from RandomNumbers
Bridge::VerboseLevel m_vl
 

Private Member Functions

void set_readfile (const std::string)
 
void initset (const int ndelay)
 
void delay3 (const int ndelay)
 

Private Attributes

double Fnorm
 
int w [Np]
 
int jr
 
int kr
 
double sq2r
 
double pi
 
double pi2
 

Static Private Attributes

static const int Np = 521
 
static const int Nq = 32
 

Detailed Description

Random number generator base on M-series.

This class generates the M-series random numbers. The original version in Fortran was written by J.Makino and O.Miyamura (Ver.3.0 21 July 1991). Public version is available under GNU GPL: Shinji Hioki, QCDMPI http://insam.sci.hiroshima-u.ac.jp/QCDMPI/ which implements Jun Makino, "Lagged-Fibonacci random number generators on parallel computers", Parallel Computing, 20 (1994) 1357-1367.

An instance is created with a given integer number which is used to set the initial random numbers. [23 Jul 2012 H.Matsufuru]

Definition at line 46 of file randomNumbers_Mseries.h.

Constructor & Destructor Documentation

RandomNumbers_Mseries::RandomNumbers_Mseries ( const int  ndelay)
inline

Definition at line 61 of file randomNumbers_Mseries.h.

RandomNumbers_Mseries::RandomNumbers_Mseries ( const std::string  filename)
inline

Definition at line 67 of file randomNumbers_Mseries.h.

Member Function Documentation

void RandomNumbers_Mseries::delay3 ( const int  ndelay)
private

Definition at line 84 of file randomNumbers_Mseries.cpp.

double RandomNumbers_Mseries::get ( )
inlinevirtual

Implements RandomNumbers.

Definition at line 73 of file randomNumbers_Mseries.h.

void RandomNumbers_Mseries::initset ( const int  ndelay)
private

Definition at line 42 of file randomNumbers_Mseries.cpp.

void RandomNumbers_Mseries::set_readfile ( const std::string  )
private

Definition at line 19 of file randomNumbers_Mseries.cpp.

void RandomNumbers_Mseries::writefile ( const std::string  )

Definition at line 149 of file randomNumbers_Mseries.cpp.

Member Data Documentation

double RandomNumbers_Mseries::Fnorm
private

Definition at line 53 of file randomNumbers_Mseries.h.

int RandomNumbers_Mseries::jr
private

Definition at line 55 of file randomNumbers_Mseries.h.

int RandomNumbers_Mseries::kr
private

Definition at line 55 of file randomNumbers_Mseries.h.

Bridge::VerboseLevel RandomNumbers_Mseries::m_vl
protected

Definition at line 49 of file randomNumbers_Mseries.h.

const int RandomNumbers_Mseries::Np = 521
staticprivate

Definition at line 52 of file randomNumbers_Mseries.h.

const int RandomNumbers_Mseries::Nq = 32
staticprivate

Definition at line 52 of file randomNumbers_Mseries.h.

double RandomNumbers_Mseries::pi
private

Definition at line 58 of file randomNumbers_Mseries.h.

double RandomNumbers_Mseries::pi2
private

Definition at line 58 of file randomNumbers_Mseries.h.

double RandomNumbers_Mseries::sq2r
private

Definition at line 57 of file randomNumbers_Mseries.h.

int RandomNumbers_Mseries::w[Np]
private

Definition at line 54 of file randomNumbers_Mseries.h.


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