std::gamma_distribution - Man Page
A gamma continuous distribution for random numbers.
Synopsis
#include <random>
Classes
struct param_type
Public Types
typedef _RealType result_type
Public Member Functions
gamma_distribution ()
Constructs a gamma distribution with parameters 1 and 1.
gamma_distribution (_RealType __alpha_val, _RealType __beta_val=_RealType(1))
Constructs a gamma distribution with parameters $alpha$ and $beta$.
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
Returns the $alpha$ of the distribution.
_RealType beta () const
Returns the $beta$ of the distribution.
result_type max () const
Returns the least upper bound value of the distribution.
result_type min () const
Returns the greatest lower bound value of the distribution.
template<typename _UniformRandomNumberGenerator > result_type operator() (_UniformRandomNumberGenerator &__urng)
Generating functions.
template<typename _UniformRandomNumberGenerator > result_type operator() (_UniformRandomNumberGenerator &__urng, const param_type &__p)
template<typename _UniformRandomNumberGenerator > gamma_distribution< _RealType >::result_type operator() (_UniformRandomNumberGenerator &__urng, const param_type &__param)
param_type param () const
Returns the parameter set of the distribution.
void param (const param_type &__param)
Sets the parameter set of the distribution.
void reset ()
Resets the distribution state.
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)
Inserts a gamma_distribution random number distribution __x into the output stream __os.
bool operator== (const gamma_distribution &__d1, const gamma_distribution &__d2)
Return true if two gamma distributions have the same parameters and the sequences that would be generated are equal.
template<typename _RealType1 , typename _CharT , typename _Traits > std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, std::gamma_distribution< _RealType1 > &__x)
Extracts a gamma_distribution random number distribution __x from the input stream __is.
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) = ac{1}{betaGamma(alpha)}
(x/beta)^{alpha - 1} e^{-x/beta} ]
- Since
C++11
Member Typedef Documentation
template<typename _RealType = double> _RealType std::gamma_distribution< _RealType >::result_type
The type of the range of the distribution.
Constructor & Destructor Documentation
template<typename _RealType = double> std::gamma_distribution< _RealType >::gamma_distribution () [inline]
Constructs a gamma distribution with parameters 1 and 1.
template<typename _RealType = double> std::gamma_distribution< _RealType >::gamma_distribution (_RealType __alpha_val, _RealType __beta_val = _RealType(1)) [inline], [explicit]
Constructs a gamma distribution with parameters $alpha$ and $beta$.
Member Function Documentation
template<typename _RealType = double> _RealType std::gamma_distribution< _RealType >::alpha () const [inline]
Returns the $alpha$ of the distribution.
template<typename _RealType = double> _RealType std::gamma_distribution< _RealType >::beta () const [inline]
Returns the $beta$ of the distribution.
template<typename _RealType = double> result_type std::gamma_distribution< _RealType >::max () const [inline]
Returns the least upper bound value of the distribution.
References std::numeric_limits< _Tp >::max().
template<typename _RealType = double> result_type std::gamma_distribution< _RealType >::min () const [inline]
Returns the greatest lower bound value of the distribution.
template<typename _RealType = double> template<typename _UniformRandomNumberGenerator > result_type std::gamma_distribution< _RealType >::operator() (_UniformRandomNumberGenerator & __urng) [inline]
Generating functions.
References std::gamma_distribution< _RealType >::operator()().
Referenced by std::gamma_distribution< _RealType >::operator()().
template<typename _RealType = double> 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.
References std::log(), and std::pow().
template<typename _RealType = double> param_type std::gamma_distribution< _RealType >::param () const [inline]
Returns the parameter set of the distribution.
Referenced by std::chi_squared_distribution< _RealType >::param().
template<typename _RealType = double> void std::gamma_distribution< _RealType >::param (const param_type & __param) [inline]
Sets the parameter set of the distribution.
Parameters
__param The new parameter set of the distribution.
template<typename _RealType = double> void std::gamma_distribution< _RealType >::reset () [inline]
Resets the distribution state.
References std::normal_distribution< _RealType >::reset().
Referenced by std::chi_squared_distribution< _RealType >::reset(), std::fisher_f_distribution< _RealType >::reset(), std::negative_binomial_distribution< _IntType >::reset(), and std::student_t_distribution< _RealType >::reset().
Friends And Related Symbol Documentation
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
__os An output stream.
__x A gamma_distribution random number distribution.
- Returns
The output stream with the state of __x inserted or in an error state.
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.
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
__is An input stream.
__x A gamma_distribution random number generator engine.
- Returns
The input stream with __x extracted or in an error state.
Author
Generated automatically by Doxygen for libstdc++ from the source code.