Bridge++
Version 1.5.4
|
Base class of random number generators. More...
#include <randomNumbers.h>
Classes | |
class | rand_gauss_even |
class | rand_gauss_odd |
class | rand_uniform |
Public Member Functions | |
RandomNumbers () | |
virtual | ~RandomNumbers () |
void | set_parameter_verboselevel (const Bridge::VerboseLevel vl) |
virtual double | get ()=0 |
void | gauss (double &rand1, double &rand2) |
virtual void | lex_global (const std::string &, Field &) |
virtual void | gauss_lex_global (Field &) |
gaussian random number defined on global lattice. More... | |
virtual void | uniform_lex_global (Field &) |
uniform random number defined on global lattice. More... | |
virtual void | U1_lex_global (Field &) |
U(1) random number defined on global lattice. More... | |
virtual void | Z2_lex_global (Field &) |
Z(2) 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 | read_file (const std::string &)=0 |
save and load random number status. More... | |
virtual void | write_file (const std::string &)=0 |
virtual void | reset (unsigned long seed)=0 |
reset state with new seed. More... | |
Static Public Attributes | |
static const std::string | class_name = "RandomNumbers" |
Protected Attributes | |
Bridge::VerboseLevel | m_vl |
Private Member Functions | |
RandomNumbers (const RandomNumbers &) | |
RandomNumbers & | operator= (const RandomNumbers &) |
template<typename InnerGenerator > | |
void | generate_global (Field &f) |
Base class of random number generators.
This class defines the interface of random number generator, and implements common methods. Practical methods to generate random numbers are defined in subclasses. This class also implements Gaussian random number and method to set a global field of Gaussian random numbers and cut it out to the local field for the own node (gauss_lex_global()) which is useful in HMC etc. [25 Dec 2011 H.Matsufuru] U1,Z2 are added [11 Jan 2017 Y.Namekawa] Factory is introduced [ 2 Feb 2017 Y.Namekawa]
Definition at line 43 of file randomNumbers.h.
|
inline |
Definition at line 53 of file randomNumbers.h.
|
inlinevirtual |
Definition at line 56 of file randomNumbers.h.
|
private |
void RandomNumbers::gauss | ( | double & | rand1, |
double & | rand2 | ||
) |
Definition at line 62 of file randomNumbers.cpp.
|
virtual |
gaussian noise for even-odd perconditioned field (S.UEDA)
Definition at line 169 of file randomNumbers.cpp.
|
virtual |
gaussian random number defined on global lattice.
Definition at line 95 of file randomNumbers.cpp.
|
private |
Definition at line 275 of file randomNumbers.cpp.
|
pure virtual |
Implemented in RandomNumbers_Mseries, and RandomNumbers_MT19937.
|
virtual |
Definition at line 77 of file randomNumbers.cpp.
|
private |
|
pure virtual |
save and load random number status.
Implemented in RandomNumbers_Mseries, and RandomNumbers_MT19937.
|
pure virtual |
reset state with new seed.
Implemented in RandomNumbers_Mseries, and RandomNumbers_MT19937.
|
inline |
Definition at line 64 of file randomNumbers.h.
|
virtual |
U(1) random number defined on global lattice.
Definition at line 113 of file randomNumbers.cpp.
|
virtual |
uniform random number defined on global lattice.
Definition at line 106 of file randomNumbers.cpp.
|
pure virtual |
Implemented in RandomNumbers_Mseries, and RandomNumbers_MT19937.
|
virtual |
Z(2) random number defined on global lattice.
Definition at line 142 of file randomNumbers.cpp.
|
static |
Definition at line 46 of file randomNumbers.h.
|
protected |
Definition at line 49 of file randomNumbers.h.