Loading...
Searching...
No Matches
PLMD::Random Class Reference

#include <Random.h>

Public Member Functions

 Random (const std::string &title=noname)
 
void fromString (const std::string &str)
 
double Gaussian ()
 
void IncreasedPrecis (bool i)
 
int RandInt (int i)
 
double RandU01 ()
 
void ReadStateFull (std::istream &)
 
void setSeed (int idum)
 
void Shuffle (std::vector< unsigned > &vec)
 
void toString (std::string &str) const
 
double U01 ()
 
double U01d ()
 
void WriteStateFull (std::ostream &) const
 

Private Attributes

int idum
 
bool incPrec
 
int iv [NTAB]
 
int iy
 
std::string name
 
double saveGaussian
 
bool switchGaussian
 

Static Private Attributes

static constexpr double AM =1.0/IM
 
static constexpr double EPS =3.0e-16
 
static constexpr double fact =5.9604644775390625e-8
 
static constexpr int IA =16807
 
static constexpr int IM =2147483647
 
static constexpr int IQ =127773
 
static constexpr int IR =2836
 
static constexpr int NDIV =(1+(IM-1)/NTAB)
 
static const std::string noname ="noname"
 
static constexpr int NTAB =32
 
static constexpr double RNMX =1.0-EPS
 

Friends

std::ostream & operator<< (std::ostream &out, const Random &rng)
 
std::istream & operator>> (std::istream &in, Random &rng)
 

Constructor & Destructor Documentation

◆ Random()

PLMD::Random::Random ( const std::string & title = noname)
explicit

Member Function Documentation

◆ fromString()

void PLMD::Random::fromString ( const std::string & str)

◆ Gaussian()

double PLMD::Random::Gaussian ( )

◆ IncreasedPrecis()

void PLMD::Random::IncreasedPrecis ( bool i)
inline

◆ RandInt()

int PLMD::Random::RandInt ( int i)

◆ RandU01()

double PLMD::Random::RandU01 ( )

◆ ReadStateFull()

void PLMD::Random::ReadStateFull ( std::istream & in)

◆ setSeed()

void PLMD::Random::setSeed ( int idum)

◆ Shuffle()

void PLMD::Random::Shuffle ( std::vector< unsigned > & vec)

◆ toString()

void PLMD::Random::toString ( std::string & str) const

◆ U01()

double PLMD::Random::U01 ( )

◆ U01d()

double PLMD::Random::U01d ( )

◆ WriteStateFull()

void PLMD::Random::WriteStateFull ( std::ostream & out) const

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream & out,
const Random & rng )
friend

◆ operator>>

std::istream & operator>> ( std::istream & in,
Random & rng )
friend

Member Data Documentation

◆ AM

double PLMD::Random::AM =1.0/IM
staticconstexprprivate

◆ EPS

double PLMD::Random::EPS =3.0e-16
staticconstexprprivate

◆ fact

double PLMD::Random::fact =5.9604644775390625e-8
staticconstexprprivate

◆ IA

int PLMD::Random::IA =16807
staticconstexprprivate

◆ idum

int PLMD::Random::idum
private

◆ IM

int PLMD::Random::IM =2147483647
staticconstexprprivate

◆ incPrec

bool PLMD::Random::incPrec
private

◆ IQ

int PLMD::Random::IQ =127773
staticconstexprprivate

◆ IR

int PLMD::Random::IR =2836
staticconstexprprivate

◆ iv

int PLMD::Random::iv[NTAB]
private

◆ iy

int PLMD::Random::iy
private

◆ name

std::string PLMD::Random::name
private

◆ NDIV

int PLMD::Random::NDIV =(1+(IM-1)/NTAB)
staticconstexprprivate

◆ noname

const std::string PLMD::Random::noname ="noname"
staticprivate

◆ NTAB

int PLMD::Random::NTAB =32
staticconstexprprivate

◆ RNMX

double PLMD::Random::RNMX =1.0-EPS
staticconstexprprivate

◆ saveGaussian

double PLMD::Random::saveGaussian
private

◆ switchGaussian

bool PLMD::Random::switchGaussian
private

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