libstdc++
std::gamma_distribution< _RealType > Class Template Reference

Classes

struct  param_type
 

Public Types

typedef _RealType result_type
 

Public Member Functions

 gamma_distribution ()
 
 gamma_distribution (_RealType __alpha_val, _RealType __beta_val=_RealType(1))
 
 gamma_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)
 
_RealType alpha () const
 
_RealType beta () const
 
result_type max () 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 _RealType1 , typename _CharT , typename _Traits >
std::basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const std::gamma_distribution< _RealType1 > &__x)
 
bool operator== (const gamma_distribution &__d1, const gamma_distribution &__d2)
 
template<typename _RealType1 , typename _CharT , typename _Traits >
std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, std::gamma_distribution< _RealType1 > &__x)
 

Detailed Description

template<typename _RealType = double>
class std::gamma_distribution< _RealType >

A gamma continuous distribution for random numbers.

The formula for the gamma probability density function is:

\[ p(x|\alpha,\beta) = \frac{1}{\beta\Gamma(\alpha)} (x/\beta)^{\alpha - 1} e^{-x/\beta} \]

Definition at line 2402 of file random.h.

Member Typedef Documentation

◆ result_type

template<typename _RealType = double>
typedef _RealType std::gamma_distribution< _RealType >::result_type

The type of the range of the distribution.

Definition at line 2409 of file random.h.

Constructor & Destructor Documentation

◆ gamma_distribution() [1/2]

template<typename _RealType = double>
std::gamma_distribution< _RealType >::gamma_distribution ( )
inline

Constructs a gamma distribution with parameters 1 and 1.

Definition at line 2458 of file random.h.

◆ gamma_distribution() [2/2]

template<typename _RealType = double>
std::gamma_distribution< _RealType >::gamma_distribution ( _RealType  __alpha_val,
_RealType  __beta_val = _RealType(1) 
)
inlineexplicit

Constructs a gamma distribution with parameters $\alpha$ and $\beta$.

Definition at line 2465 of file random.h.

Member Function Documentation

◆ alpha()

template<typename _RealType = double>
_RealType std::gamma_distribution< _RealType >::alpha ( ) const
inline

Returns the $\alpha$ of the distribution.

Definition at line 2486 of file random.h.

◆ beta()

template<typename _RealType = double>
_RealType std::gamma_distribution< _RealType >::beta ( ) const
inline

Returns the $\beta$ of the distribution.

Definition at line 2493 of file random.h.

◆ max()

template<typename _RealType = double>
result_type std::gamma_distribution< _RealType >::max ( ) const
inline

Returns the least upper bound value of the distribution.

Definition at line 2522 of file random.h.

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

◆ min()

template<typename _RealType = double>
result_type std::gamma_distribution< _RealType >::min ( ) const
inline

Returns the greatest lower bound value of the distribution.

Definition at line 2515 of file random.h.

◆ operator()() [1/2]

template<typename _RealType = double>
template<typename _UniformRandomNumberGenerator >
result_type std::gamma_distribution< _RealType >::operator() ( _UniformRandomNumberGenerator &  __urng)
inline

Generating functions.

Definition at line 2530 of file random.h.

◆ operator()() [2/2]

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

Marsaglia, G. and Tsang, W. W. "A Simple Method for Generating Gamma Variables" ACM Transactions on Mathematical Software, 26, 3, 363-372, 2000.

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

References std::log(), and std::pow().

◆ param() [1/2]

template<typename _RealType = double>
param_type std::gamma_distribution< _RealType >::param ( ) const
inline

Returns the parameter set of the distribution.

Definition at line 2500 of file random.h.

Referenced by std::chi_squared_distribution< _RealType >::param().

◆ param() [2/2]

template<typename _RealType = double>
void std::gamma_distribution< _RealType >::param ( const param_type __param)
inline

Sets the parameter set of the distribution.

Parameters
__paramThe new parameter set of the distribution.

Definition at line 2508 of file random.h.

◆ reset()

Friends And Related Function Documentation

◆ operator<<

template<typename _RealType = double>
template<typename _RealType1 , typename _CharT , typename _Traits >
std::basic_ostream<_CharT, _Traits>& operator<< ( std::basic_ostream< _CharT, _Traits > &  __os,
const std::gamma_distribution< _RealType1 > &  __x 
)
friend

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

Parameters
__osAn output stream.
__xA gamma_distribution random number distribution.
Returns
The output stream with the state of __x inserted or in an error state.

◆ operator==

template<typename _RealType = double>
bool operator== ( const gamma_distribution< _RealType > &  __d1,
const gamma_distribution< _RealType > &  __d2 
)
friend

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

Definition at line 2566 of file random.h.

◆ operator>>

template<typename _RealType = double>
template<typename _RealType1 , typename _CharT , typename _Traits >
std::basic_istream<_CharT, _Traits>& operator>> ( std::basic_istream< _CharT, _Traits > &  __is,
std::gamma_distribution< _RealType1 > &  __x 
)
friend

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

Parameters
__isAn input stream.
__xA gamma_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: