Eaagles::Basic::LcRand Class Reference

Inherits Eaagles::Basic::LcObject.

Inherited by Eaagles::Basic::ExponentialRand, Eaagles::Basic::NormalRand, and Eaagles::Basic::UniformRand.

Inheritance diagram for Eaagles::Basic::LcRand:

Inheritance graph
[legend]
Collaboration diagram for Eaagles::Basic::LcRand:

Collaboration graph
[legend]
List of all members.

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

RngStreamprng
LcNumberseed
double nextRand

Detailed Description

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 


Constructor & Destructor Documentation

useIncreasedPrecision Eaagles::Basic::LcRand::LcRand (  ) 


Member Function Documentation

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.


Member Data Documentation

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.


Generated on Tue Dec 19 16:26:22 2006 for Eaagles by  doxygen 1.5.0