66 void read(std::istream& is);
68 void write(std::ostream& os)
const;
void read(std::istream &is)
Mdouble getRandomNumberFromLaggedFibonacciGenerator(Mdouble min, Mdouble max)
This is a Lagged Fibonacci Generator.
void seedLaggedFibonacciGenerator()
This seed the LFG.
void setLaggedFibonacciGeneratorParameters(const unsigned int p, const unsigned int q)
This function sets the parameters for the LFG random number generator.
void randomise()
sets the random variables such that they differ for each run
This is a class that generates random numbers i.e. named the Random Number Generator (RNG)...
void setLinearCongruentialGeneratorParmeters(unsigned const int a, unsigned const int c, unsigned const int m)
This functions set the parameters for the LCG random number generator. It goes multiplier, addition, mod.
void write(std::ostream &os) const
Mdouble getRandomNumberFromLinearCongruentialGenerator(Mdouble min, Mdouble max)
This is a basic Linear Congruential Generator Random.
unsigned long int randomSeedLinearCongruentialGenerator_
This is the initial seed of the RNG.
unsigned long int p_
This are the parameters that control the LFG random generator.
void setRandomSeed(unsigned long int new_seed)
This is the seed for the random number generator. (note the call to seed_LFG is only required really ...
Mdouble test()
This function tests the quality of random numbers, based on the chi-squared test. ...
std::vector< Mdouble > randomSeedLaggedFibonacciGenerator_
This is the seeds required for the LFG.
unsigned long int a_
This are the two parameters that control the LCG random generated.
void setRandomNumberGenerator(RNGType type)
Allows the user to set which random number generator is used.
RNGType type_
This is the type of random number generator.
Mdouble operator()(Mdouble min, Mdouble max)
Mdouble getRandomNumber(Mdouble min, Mdouble max)
This is a random generating routine can be used for initial positions.