Inherited by Eaagles::Basic::ExponentialRand, Eaagles::Basic::NormalRand, and Eaagles::Basic::UniformRand.
Inheritance diagram for Eaagles::Basic::LcRand:


Public Member Functions | |
| LcRand () | |
| double | getNextRand () |
| int | getSeed () |
Protected Member Functions | |
| double | peekRand () |
| void | setRand (double num) |
| bool | setSeed (LcNumber *num) |
| bool | setSlotAntithetic (LcNumber *num) |
| bool | setSlotIncreasedPrecision (LcNumber *num) |
| virtual void | calculateNextRand () |
Private Attributes | |
| RngStream * | prng |
| LcNumber * | seed |
| double | nextRand |
This is the base class for random number generators based
on specific distributions. This Pseudorandom Number Generator
is based on the MRG32k3a set by L'Eucyer. See attached paper
"An Object-Oriented Random-Number Package with many Long
Streams and Substreams" by L'Ecuyer, Simard, Chen, and Kelton
Form name: LcRand
Slots:
Seed: the seed to start the random number generator
Antithetic: boolean (true is x>0) for antithetic operation (return 1-U instead of U)
IncreasedPrecision: boolean (true is x>0) for using increased precision (53bit double)
Output: (0 <= x <= 1) as a double via getNextRand(); method
| useIncreasedPrecision Eaagles::Basic::LcRand::LcRand | ( | ) |
| double Eaagles::Basic::LcRand::getNextRand | ( | ) |
| int Eaagles::Basic::LcRand::getSeed | ( | ) |
| double Eaagles::Basic::LcRand::peekRand | ( | ) | [protected] |
| void Eaagles::Basic::LcRand::setRand | ( | double | num | ) | [protected] |
| bool Eaagles::Basic::LcRand::setSeed | ( | LcNumber * | num | ) | [protected] |
| bool Eaagles::Basic::LcRand::setSlotAntithetic | ( | LcNumber * | num | ) | [protected] |
| bool Eaagles::Basic::LcRand::setSlotIncreasedPrecision | ( | LcNumber * | num | ) | [protected] |
| void Eaagles::Basic::LcRand::calculateNextRand | ( | ) | [protected, virtual] |
Reimplemented in Eaagles::Basic::UniformRand, Eaagles::Basic::NormalRand, and Eaagles::Basic::ExponentialRand.
RngStream* Eaagles::Basic::LcRand::prng [private] |
the PseudoRandom Number Generator
LcNumber* Eaagles::Basic::LcRand::seed [private] |
the seed
double Eaagles::Basic::LcRand::nextRand [private] |
The next number to be given out.
1.5.0