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).