yat  0.21pre
Public Types | Public Member Functions | Protected Attributes | List of all members
theplu::yat::random::NegativeBinomial Class Reference

Negative Binomial Distribution. More...

#include <yat/random/random.h>

Inheritance diagram for theplu::yat::random::NegativeBinomial:
theplu::yat::random::Discrete

Public Types

typedef unsigned long int result_type
 

Public Member Functions

 NegativeBinomial (double p, double r)
 Constructor. More...
 
unsigned long operator() (void) const
 
unsigned long operator() (double p, double r) const
 
void seed (unsigned long s) const
 Set the seed to s. More...
 
unsigned long seed_from_devurandom (void)
 Set the seed using the /dev/urandom device. More...
 

Protected Attributes

RNGrng_
 GSL random gererator.
 

Detailed Description

Negative Binomial Distribution.

Probability function $ p(k) = \frac{\Gamma(r+k)}{\Gamma(k+1)\Gamma(r)} p^r (1-p)^k$

Mean: $ m = (1-p)*r/p $ Variance: $ V = (1-p) (r-1)/p $

Note
The parameterisation used here is different from wikipedia.
Since
New in yat 0.20

Member Typedef Documentation

◆ result_type

typedef unsigned long int theplu::yat::random::Discrete::result_type
inherited

type returned by operator()

Since
New in yat 0.10

Constructor & Destructor Documentation

◆ NegativeBinomial()

theplu::yat::random::NegativeBinomial::NegativeBinomial ( double  p,
double  r 
)

Constructor.

Parameters
pprobability of success [0-1]
rnumber of successes, r>=1

Member Function Documentation

◆ operator()() [1/2]

unsigned long theplu::yat::random::NegativeBinomial::operator() ( void  ) const
virtual
Returns
A number from a Negative Binomial Distribution

Implements theplu::yat::random::Discrete.

◆ operator()() [2/2]

unsigned long theplu::yat::random::NegativeBinomial::operator() ( double  p,
double  r 
) const
Returns
A number from a Negative Binomial Distribution

◆ seed()

void theplu::yat::random::Discrete::seed ( unsigned long  s) const
inherited

Set the seed to s.

Set the seed to s in the underlying rng. If s is zero, a default value from the rng's original implementation is used (cf. GSL documentation).

Deprecated:
Provided for backward compatibility with the 0.7 API. Use RNG::instance()->seed(s) instead.

◆ seed_from_devurandom()

unsigned long theplu::yat::random::Discrete::seed_from_devurandom ( void  )
inherited

Set the seed using the /dev/urandom device.

Returns
The seed acquired from /dev/urandom.
Deprecated:
Provided for backward compatibility with the 0.7 API. Use RNG::instance()->seed_from_devurandom() instead.

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

Generated on Wed Jan 25 2023 03:34:29 for yat by  doxygen 1.8.14