Loading...
Searching...
No Matches
casacore::Geometric Class Reference
casa package (libcasa_casa) » BasicMath_module

Discrete geometric distribution. More...

`#include <Random.h>`

## Public Member Functions

| Geometric (RNG *gen, Double probability=0.5)
| Construct a random number generator for a geometric uniform distribution.
virtual | ~Geometric ()
| The destructor is trivial.
virtual Double | operator() ()
| Returns a value from the geometric uniform distribution.
uInt | asInt ()
Double | probability () const
| Functions that allow you to query and change the parameters of the geometric uniform distribution.
void | probability (Double x)
virtual void | setParameters (const Vector< Double > &parms)
| These function allow you to manipulate the parameter (probability) described above through the base class.
virtual Vector< Double > | parameters () const
virtual Bool | checkParameters (const Vector< Double > &parms) const
Public Member Functions inherited from casacore::Random
virtual | ~Random ()
| A virtual destructor is needed to ensure that the destructor of derived classes gets used.
RNG * | generator ()
| Functions that allow you to access and change the class that generates the random bits.
void | generator (RNG *p)

## Private Attributes

Double | itsProbability

## Additional Inherited Members

Public Types inherited from casacore::Random
enum | Types { BINOMIAL , DISCRETEUNIFORM , ERLANG , GEOMETRIC , HYPERGEOMETRIC , NORMAL , LOGNORMAL , NEGATIVEEXPONENTIAL , POISSON , UNIFORM , WEIBULL , UNKNOWN , NUMBER_TYPES }
| This enumerator lists all the predefined random number distributions. More...
Static Public Member Functions inherited from casacore::Random
static String | asString (Random::Types type)
| Convert the enumerator to a lower-case string.
static Random::Types | asType (const String &str)
| Convert the string to enumerator.
static Random * | construct (Random::Types type, RNG *gen)
| Convert the Random::Type enumerator to a specific object (derived from Random but upcast to a Random object).
static Vector< Double > | defaultParameters (Random::Types type)
| returns the default parameters for the specified distribution.
Protected Member Functions inherited from casacore::Random
| Random (RNG *generator)
Protected Attributes inherited from casacore::Random
RNG * | itsRNG

## Detailed Description

Discrete geometric distribution.

### Synopsis

The Geometric class implements a discrete geometric distribution. The probability is the only parameter. The operator() functions returns an non-negative integral value indicating the number of uniform random samples actually drawn before one is obtained that is larger than the given probability. To get this same value as an integer use the asInt function.

It is assumed that the probability is between zero and one (0 <= probability < 1) and and AipsError exception thrown if this is not true. The remaining function allow you to read and set the parameters.

### Example

### Thrown Exceptions

- AipsError: if bad values for the arguments are given, as specified above.

### To Do

- Nothing I hope!

Definition at line 833 of file Random.h.

## Constructor & Destructor Documentation

## Geometric()

casacore::Geometric::Geometric | ( | RNG * | gen,
|  | Double | probability = 0.5 )

Construct a random number generator for a geometric uniform 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 argument defines the range of possible return values for this distribution as described in the synopsis.

References probability().

## ~Geometric()

virtual casacore::Geometric::~Geometric | ( |  | ) |

virtual

The destructor is trivial.

## Member Function Documentation

## asInt()

uInt casacore::Geometric::asInt | ( |  | ) |

## checkParameters()

virtual Bool casacore::Geometric::checkParameters | ( | const Vector< Double > & | parms | ) | const

virtual

Implements casacore::Random.

## operator()()

virtual Double casacore::Geometric::operator() | ( |  | ) |

virtual

Returns a value from the geometric uniform distribution.

The returned value is a non-negative integer and using the asInt function bypasses the conversion to a floating point number.

Implements casacore::Random.

## parameters()

virtual Vector< Double > casacore::Geometric::parameters | ( |  | ) | const

virtual

Implements casacore::Random.

## probability() [1/2]

Double casacore::Geometric::probability | ( |  | ) | const

inline

Functions that allow you to query and change the parameters of the geometric uniform distribution.

Definition at line 873 of file Random.h.

References itsProbability.

Referenced by Geometric().

## probability() [2/2]

void casacore::Geometric::probability | ( | Double | x | ) |

## setParameters()

virtual void casacore::Geometric::setParameters | ( | const Vector< Double > & | parms | ) |

virtual

These function allow you to manipulate the parameter (probability) described above through the base class.

The Vectors must always be of length one.

Implements casacore::Random.

## Member Data Documentation

## itsProbability

Double casacore::Geometric::itsProbability

private

Definition at line 870 of file Random.h.

Referenced by probability().

The documentation for this class was generated from the following file:

- casa/BasicMath/Random.h