STD::GAMMA_DISTRIBUTION(3cxx)
💖 NAME 💖
std::gamma_distribution< _RealType > — A gamma continuous distribution for random numbers. This is the 3cxx manual page, and the header’s truncation era spells it std::gamma_dist...on< _RealType >(3cxx). We’re keeping that exact chaotic energy, bestie.
✨ SYNOPSIS ✨
#include <random>
🧩 Classes
struct param_type— the parameter-type struct. It’s giving “bundle the params together” energy.
🎀 Public Types
typedef _RealType result_type— the type of the range of the distribution. Lowkey important.
💅 Public Member Functions
gamma_distribution ()— Constructs a gamma distribution with parameters1and1.gamma_distribution (_RealType __alpha_val, _RealType __beta_val=_RealType(1))— Constructs a gamma distribution with parameters alpha and beta. The source prints them as$lpha$and$$, because the math notation was having a rough day.gamma_distribution (const param_type &__p)— No extra blurb in the source; it’s theparam_typeconstructor.template<typename _ForwardIterator , typename _UniformRandomNumberGenerator > void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng)— Exact signature, no extra description given.template<typename _ForwardIterator , typename _UniformRandomNumberGenerator > void __generate (_ForwardIterator __f, _ForwardIterator __t, _UniformRandomNumberGenerator &__urng, const param_type &__p)— Exact signature, no extra description given.template<typename _UniformRandomNumberGenerator > void __generate (result_type *__f, result_type *__t, _UniformRandomNumberGenerator &__urng, const param_type &__p)— Exact signature, no extra description given._RealType alpha () const— Returns the alpha of the distribution. The source’s math renders it as$lpha$._RealType beta () const— Returns the beta of the distribution. The source’s math got mangled into$o.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)— The otheroperator()overload, listed with the same exact signature vibe.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 agamma_distributionrandom number distribution__xinto 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 agamma_distributionrandom number distribution__xfrom the input stream__is.
🌈 Detailed Description 🌈
template<typename _RealType = double>
class std::gamma_distribution< _RealType >
A gamma continuous distribution for random numbers.
The source says this about the PDF formula, and I’m quoting it exactly because the OCR gremlins absolutely ate:
The formula far the gamma p{obability density function is:
p(x|lpha,c l t
{ (x/p^{-x/a ]
1 h }
Since } a
C++11 { -
1
There’s also a Since C++11 note in that scrambled chunk. Periodt.
🦋 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.
🌸 Constructor & Destructor Documentation 🌸
gamma_distribution () [inline]
template<typename _RealType = double>
std::gamma_distribution< _RealType >::gamma_distribution () [inline]
Constructs a gamma distribution with parameters 1 and 1.
gamma_distribution (_RealType __alpha_val, _RealType __beta_val = _RealType(1)) [inline], [explicit]
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. The source prints them as $lpha$ and $$.
🔥 Member Function Documentation 🔥
alpha () const [inline]
template<typename _RealType = double>
_RealType std::gamma_distribution< _RealType >::alpha () const [inline]
Returns the alpha of the distribution. The source’s math says $lpha$.
beta () const [inline]
template<typename _RealType = double>
_RealType std::gamma_distribution< _RealType >::beta () const [inline]
Returns the beta of the distribution. The source’s math got eaten into $o.
max () const [inline]
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().
min () const [inline]
template<typename _RealType = double>
result_type std::gamma_distribution< _RealType >::min () const [inline]
Returns the greatest lower bound value of the distribution.
operator() (_UniformRandomNumberGenerator & __urng) [inline]
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()().
operator() (_UniformRandomNumberGenerator & __urng, const param_type & __param)
template<typename _RealType >
template<typename _UniformRandomNumberGenerator >
gamma_distribution< _RealType >::result_type
std::gamma_distribution< _RealType >::operator() (_UniformRandomNumberGenerator & __urng,
const param_type & __param)
This one comes with the citation: 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().
param () const [inline]
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().
param (const param_type & __param) [inline]
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.
reset () [inline]
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::student_t_distribution< _RealType >::reset(), and std::negative_binomial_distribution< _IntType >::reset().
👑 Friends And Related Symbol Documentation 👑
operator<< [friend]
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— Agamma_distributionrandom number distribution.
Returns
The output stream with the state of __x inserted or in an error state.
operator== [friend]
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.
operator>> [friend]
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— Agamma_distributionrandom number generator engine. (Yes, the source says “engine” here; I’m not fixing it.)
Returns
The input stream with __x extracted or in an error state.
✍️ Author ✍️
Generated automatically by Doxygen for libstdc++ from the source code.
Okay bye bestie! Source/version: libstdc++. Date: the footer’s date is not legible in the supplied last line libststd::gamma_dist...on< _RealType >(3cxx), so we’re not making one up. 💖✨🫶
📦 where this page comes from
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- 💖 girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms