Random generate random numbers. The generator itself
is the mercenne twister defined in C++'s STL (as the std::mt19937
type). Its public members are
void reset(size_t seed);
double uniform();
double normal();
double logNormal(double mean, double stdDev);
double exponential(double mean);
The members uniform, normal, logNormal and exponential generate random
numbers conforming their distribution type.
To reset the mt19937 mercenne twister the member reset is called,,
providing it with a seed.
There are three ways of resetting the random number generator:
generator: random configuration
file specification (corresponding to the program's enumeration value
SeedType::RANDOM_SEED);
generator:
fixed), using the value specified at seed: in the configuration
file (corresponding to the program's enumeration value
SeedType::FIXED_SEED);
Loop's next
iteration (specified as generator: increasing)
The random number generator is reset in Loop::initialize (or by
Loop::checkSeed called from Loop::initialize) (cf. section 2.5).