libstdc++
std::poisson_distribution< _IntType > Class Template Reference

Classes

struct  param_type
 

Public Types

typedef _IntType result_type
 

Public Member Functions

 poisson_distribution (double __mean=1.0)
 
 poisson_distribution (const param_type &__p)
 
template<typename _ForwardIterator , typename _UniformRandomNumberGenerator >
void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng)
 
template<typename _ForwardIterator , typename _UniformRandomNumberGenerator >
void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng, const param_type &__p)
 
template<typename _UniformRandomNumberGenerator >
void __generate (result_type *__f, result_type *__t, _UniformRandomNumberGenerator &__urng, const param_type &__p)
 
result_type max () const
 
double mean () const
 
result_type min () const
 
template<typename _UniformRandomNumberGenerator >
result_type operator() (_UniformRandomNumberGenerator &__urng)
 
template<typename _UniformRandomNumberGenerator >
result_type operator() (_UniformRandomNumberGenerator &__urng, const param_type &__p)
 
param_type param () const
 
void param (const param_type &__param)
 
void reset ()
 

Friends

template<typename _IntType1 , typename _CharT , typename _Traits >
std::basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const std::poisson_distribution< _IntType1 > &__x)
 
bool operator== (const poisson_distribution &__d1, const poisson_distribution &__d2)
 
template<typename _IntType1 , typename _CharT , typename _Traits >
std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, std::poisson_distribution< _IntType1 > &__x)
 

Detailed Description

template<typename _IntType = int>
class std::poisson_distribution< _IntType >

A discrete Poisson random number distribution.

The formula for the Poisson probability density function is $p(i|\mu) = \frac{\mu^i}{i!} e^{-\mu}$ where $\mu$ is the parameter of the distribution.

Definition at line 4325 of file random.h.

Member Typedef Documentation

template<typename _IntType = int>
typedef _IntType std::poisson_distribution< _IntType >::result_type

The type of the range of the distribution.

Definition at line 4328 of file random.h.

Member Function Documentation

template<typename _IntType = int>
result_type std::poisson_distribution< _IntType >::max ( ) const
inline

Returns the least upper bound value of the distribution.

Definition at line 4424 of file random.h.

References std::numeric_limits< _Tp >::max().

template<typename _IntType = int>
double std::poisson_distribution< _IntType >::mean ( ) const
inline

Returns the distribution parameter mean.

Definition at line 4395 of file random.h.

template<typename _IntType = int>
result_type std::poisson_distribution< _IntType >::min ( ) const
inline

Returns the greatest lower bound value of the distribution.

Definition at line 4417 of file random.h.

template<typename _IntType = int>
template<typename _UniformRandomNumberGenerator >
result_type std::poisson_distribution< _IntType >::operator() ( _UniformRandomNumberGenerator &  __urng)
inline

Generating functions.

Definition at line 4432 of file random.h.

Referenced by std::negative_binomial_distribution< _IntType >::operator()().

template<typename _IntType >
template<typename _UniformRandomNumberGenerator >
poisson_distribution< _IntType >::result_type std::poisson_distribution< _IntType >::operator() ( _UniformRandomNumberGenerator &  __urng,
const param_type __param 
)

A rejection algorithm when mean >= 12 and a simple method based upon the multiplication of uniform random variates otherwise. NB: The former is available only if _GLIBCXX_USE_C99_MATH_TR1 is defined.

Reference: Devroye, L. Non-Uniform Random Variates Generation. Springer-Verlag, New York, 1986, Ch. X, Sects. 3.3 & 3.4 (+ Errata!).

Definition at line 1284 of file bits/random.tcc.

References std::abs(), std::numeric_limits< _Tp >::epsilon(), std::exp(), std::ios_base::flags(), std::left(), std::log(), std::numeric_limits< _Tp >::max(), std::binomial_distribution< _IntType >::operator()(), std::__detail::operator>>(), std::poisson_distribution< _IntType >::param(), std::scientific(), std::skipws(), and std::sqrt().

template<typename _IntType = int>
param_type std::poisson_distribution< _IntType >::param ( ) const
inline

Returns the parameter set of the distribution.

Definition at line 4402 of file random.h.

Referenced by std::poisson_distribution< _IntType >::operator()().

template<typename _IntType = int>
void std::poisson_distribution< _IntType >::param ( const param_type __param)
inline

Sets the parameter set of the distribution.

Parameters
__paramThe new parameter set of the distribution.

Definition at line 4410 of file random.h.

template<typename _IntType = int>
void std::poisson_distribution< _IntType >::reset ( )
inline

Resets the distribution state.

Definition at line 4388 of file random.h.

Friends And Related Function Documentation

template<typename _IntType = int>
template<typename _IntType1 , typename _CharT , typename _Traits >
std::basic_ostream<_CharT, _Traits>& operator<< ( std::basic_ostream< _CharT, _Traits > &  __os,
const std::poisson_distribution< _IntType1 > &  __x 
)
friend

Inserts a poisson_distribution random number distribution __x into the output stream __os.

Parameters
__osAn output stream.
__xA poisson_distribution random number distribution.
Returns
The output stream with the state of __x inserted or in an error state.
template<typename _IntType = int>
bool operator== ( const poisson_distribution< _IntType > &  __d1,
const poisson_distribution< _IntType > &  __d2 
)
friend

Return true if two Poisson distributions have the same parameters and the sequences that would be generated are equal.

Definition at line 4468 of file random.h.

template<typename _IntType = int>
template<typename _IntType1 , typename _CharT , typename _Traits >
std::basic_istream<_CharT, _Traits>& operator>> ( std::basic_istream< _CharT, _Traits > &  __is,
std::poisson_distribution< _IntType1 > &  __x 
)
friend

Extracts a poisson_distribution random number distribution __x from the input stream __is.

Parameters
__isAn input stream.
__xA poisson_distribution random number generator engine.
Returns
The input stream with __x extracted or in an error state.

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