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 parameters 1 and 1.
  • 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 the param_type constructor.
  • 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 other operator() 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 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 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().

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 — A gamma_distribution random 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 — A gamma_distribution random 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