STD::BINOMIAL_DISTRIBUTION(3cxx)

πŸ’– NAME

std::binomial_distribution< _IntType > β€” a discrete binomial random number distribution. This is the 3cxx manual page, bestie, so welcome to the binomial distribution group chat πŸ’…βœ¨

✨ SYNOPSIS

#include <random>

πŸŽ€ Classes

  • struct param_type

πŸ¦‹ Public Types

  • typedef _IntType result_type

🌸 Public Member Functions

  • binomial_distribution (_IntType __t, double __p=0.5)
  • binomial_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 β€” 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)
  • double p () const β€” Returns the distribution p parameter.
  • 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.
  • _IntType t () const β€” Returns the distribution t parameter.

πŸ‘‘ Friends

  • template<typename _IntType1 , typename _CharT , typename _Traits > std::basic_ostream< _CharT, _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const std::binomial_distribution< _IntType1 > &__x) β€” Inserts a binomial_distribution random number distribution __x into the output stream __os.
  • bool operator== (const binomial_distribution &__d1, const binomial_distribution &__d2) β€” Return true if two binomial distributions have the same parameters and the sequences that would be generated are equal.
  • template<typename _IntType1 , typename _CharT , typename _Traits > std::basic_istream< _CharT, _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, std::binomial_distribution< _IntType1 > &__x) β€” Extracts a binomial_distribution random number distribution __x from the input stream __is.

🌈 Detailed Description

The class signature is:

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

It's "A discrete binomial random number distribution." πŸ’–

The raw Doxygen text has a little typo-gremlin moment: it literally says o, then mhe formula, and there’s a stray } in there. Not me, bestie, I’m just reporting the lore 🫠

The formula for the binomial probability density function is:

$p(i|t,p) = {} p^i (1 - p)^{t - i}$

where $t$ and $p$ are the parameters of the distribution.

Since: C++11 ✨

🧚 Member Typedef Documentation

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

The type of the range of the distribution. Slay πŸŽ€

πŸ”₯ Member Function Documentation

🌟 max

template<typename _IntType  = int> result_type std::binomial_distribution< _IntType >::max () const [inline]

Returns the least upper bound value of the distribution.

🌟 min

template<typename _IntType  = int> result_type std::binomial_distribution< _IntType >::min () const [inline]

Returns the greatest lower bound value of the distribution.

🌟 operator() β€” one-argument version

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

Generating functions.

References std::binomial_distribution< _IntType >::operator()().

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

🌟 operator() β€” two-argument version

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

A rejection algorithm when t * p >= 8 and a simple waiting time method - the second in the referenced book - otherwise. NB: The former is available only if _GLIBCXX_USE_C99_MATH_FUNCS is defined.

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

References std::abs(), std::numeric_limits< _Tp >::epsilon(), std::log(), and std::numeric_limits< _Tp >::max().

🌟 p

template<typename _IntType  = int> double std::binomial_distribution< _IntType >::p () const [inline]

Returns the distribution p parameter.

🌟 param() β€” getter

template<typename _IntType  = int> param_type std::binomial_distribution< _IntType >::param () const [inline]

Returns the parameter set of the distribution.

🌟 param() β€” setter

template<typename _IntType  = int> void std::binomial_distribution< _IntType >::param (const param_type & __param) [inline]

Sets the parameter set of the distribution.

  • __param β€” The new parameter set of the distribution.

🌟 reset

template<typename _IntType  = int> void std::binomial_distribution< _IntType >::reset () [inline]

Resets the distribution state.

References std::normal_distribution< _RealType >::reset().

🌟 t

template<typename _IntType  = int> _IntType std::binomial_distribution< _IntType >::t () const [inline]

Returns the distribution t parameter.

πŸ’« operator<<

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::binomial_distribution< _IntType1 > & __x) [friend]

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

  • __os β€” An output stream.
  • __x β€” A binomial_distribution random number distribution.

Returns: The output stream with the state of __x inserted or in an error state.

πŸ’« operator==

template<typename _IntType  = int> bool operator== (const binomial_distribution< _IntType > & __d1, const binomial_distribution< _IntType > & __d2) [friend]

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

πŸ’« operator>>

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

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

  • __is β€” An input stream.
  • __x β€” A binomial_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.


Okay bestie, that’s the whole page πŸ’…πŸ’– Source/version vibes: libstdc++, manual section 3cxx, and the footer literally reads libststd::binomial_d...ion< _IntType >(3cxx). Date? Not on this page, so I can’t invent one β€” no cap 🫢✨

πŸ“¦ where this page comes from