Module: Essential Math Group: Statistics classes
Does not inherit
#include <rw/rand.h>
Class RWTRand<Generator> is the abstract base class for the random number generator classes. The classes derived from RWTRand<Generator> generate random numbers from specific probability distributions. Each of these derived classes generates a random number from a uniform distribution on the interval [0, 1], and from this deviate derives a random number generator from the appropriate probability distribution. The template parameter Generator is a function object that provides this uniform [0, 1] deviate. Specifically, Generator is presumed to be an object that overloads the function call operator to return a uniform random number of type double between 0 and 1.
The class Generator must have the following semantics, where gen is of type Generator:
Default Constructor: | Generator gen; |
Function Call Operator: | double x = gen(); // 0 <= x <= 1 or 0 < x < 1 |
RWTRand()
Uses the default constructor of class Generator to initialize the underlying uniform random number generator.
RWTRand(const RWTRand<Generator>& x);
Initializes the underlying uniform random number generator with x's.
RWTRand(const Generator& g);
Initializes the underlying uniform random number generator with g.
const Generator& generator() const;
Returns the underlying uniform random number generator as a const reference.
Generator& generator();
Returns a reference to the underlying uniform random number generator.
void setGenerator(const Generator& x);
Sets the underlying uniform random number generator to x.
void setGenerator(const RWTRand<Generator>& x);
Sets the underlying uniform random number generator to the underlying uniform random number generator of x.
virtual double operator()() = 0;
Function call operator. Defined by derived classes to return a random number from the appropriate probability distribution.
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.