casa
$Rev:20696$
|
Hypergeometric distribution. More...
#include <Random.h>
Public Member Functions | |
HyperGeometric (RNG *gen, Double mean=0.5, Double variance=1.0) | |
Construct a random number generator for an hypergeometric distribution. | |
virtual | ~HyperGeometric () |
The destructor is trivial. | |
virtual Double | operator() () |
Returns a value from the hypergeometric distribution. | |
Double | mean () const |
Functions that allow you to query and change the parameters of the hypergeometric distribution. | |
void | mean (Double x) |
Double | variance () const |
void | variance (Double x) |
virtual void | setParameters (const Vector< Double > &parms) |
These function allow you to manipulate the parameters (mean & variance) described above through the base class. | |
virtual Vector< Double > | parameters () const |
virtual Bool | checkParameters (const Vector< Double > &parms) const |
Private Member Functions | |
void | setState () |
Private Attributes | |
Double | itsMean |
Double | itsVariance |
Double | itsP |
Hypergeometric distribution.
The HyperGeometric
class implements the hypergeometric distribution. The mean
and variance
are the parameters of the distribution. The operator()
functions returns a value from this distribution
It is assumed the variance is positive and that the mean is non-zero and not bigger than the square-root of the variance. An AipsError exception is thrown if this is not true. The remaining members allow you to read and set the parameters.
casa::HyperGeometric::HyperGeometric | ( | RNG * | gen, |
Double | mean = 0.5 , |
||
Double | variance = 1.0 |
||
) | [inline] |
Construct a random number generator for an hypergeometric distribution.
The first argument is a class that produces random bits. This pointer is NOT taken over by this class and the user is responsible for deleting it. The second and third arguments define the parameters for this distribution as described in the synopsis.
Definition at line 945 of file Random.h.
References setState().
virtual casa::HyperGeometric::~HyperGeometric | ( | ) | [virtual] |
The destructor is trivial.
virtual Bool casa::HyperGeometric::checkParameters | ( | const Vector< Double > & | parms | ) | const [virtual] |
Implements casa::Random.
Double casa::HyperGeometric::mean | ( | ) | const [inline] |
void casa::HyperGeometric::mean | ( | Double | x | ) | [inline] |
Definition at line 957 of file Random.h.
References itsMean, and setState().
virtual Double casa::HyperGeometric::operator() | ( | ) | [virtual] |
Returns a value from the hypergeometric distribution.
Implements casa::Random.
virtual Vector<Double> casa::HyperGeometric::parameters | ( | ) | const [virtual] |
Implements casa::Random.
virtual void casa::HyperGeometric::setParameters | ( | const Vector< Double > & | parms | ) | [virtual] |
These function allow you to manipulate the parameters (mean & variance) described above through the base class.
The Vectors must always be of length two.
Implements casa::Random.
void casa::HyperGeometric::setState | ( | ) | [private] |
Referenced by HyperGeometric(), mean(), and variance().
Double casa::HyperGeometric::variance | ( | ) | const [inline] |
Definition at line 962 of file Random.h.
References itsVariance.
void casa::HyperGeometric::variance | ( | Double | x | ) | [inline] |
Definition at line 966 of file Random.h.
References itsVariance, and setState().
Double casa::HyperGeometric::itsMean [private] |
Double casa::HyperGeometric::itsP [private] |
Double casa::HyperGeometric::itsVariance [private] |
Definition at line 940 of file Random.h.
Referenced by variance().