std::binomial_distribution< _IntType >

Section: C Library Functions (3)
Updated: Wed Apr 17 2019
Page Index
 

NAME

std::binomial_distribution< _IntType > - A discrete binomial random number distribution.

 

SYNOPSIS


 

Classes


struct param_type
 

Public Types


typedef _IntType result_type
 

Public Member Functions


binomial_distribution (_IntType __t=_IntType(1), 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

 

template<typename _IntType = int>


class std::binomial_distribution< _IntType >" A discrete binomial random number distribution.

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.

Definition at line 3662 of file random.h.  

Member Typedef Documentation

 

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

The type of the range of the distribution.

Definition at line 3665 of file random.h.  

Member Function Documentation

 

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

Returns the least upper bound value of the distribution.

Definition at line 3777 of file random.h.  

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

Returns the greatest lower bound value of the distribution.

Definition at line 3770 of file random.h.  

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

Generating functions.

Definition at line 3785 of file random.h.  

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_TR1 is defined.

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

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

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

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

Returns the distribution p parameter.

Definition at line 3748 of file random.h.  

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

Returns the parameter set of the distribution.

Definition at line 3755 of file random.h.  

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

Sets the parameter set of the distribution.

Parameters:

__param The new parameter set of the distribution.

Definition at line 3763 of file random.h.  

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

Resets the distribution state.

Definition at line 3734 of file random.h.

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

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

Returns the distribution t parameter.

Definition at line 3741 of file random.h.  

Friends And Related Function Documentation

 

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.

Parameters:

__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.

 

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.

Definition at line 3821 of file random.h.  

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.

Parameters:

__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.


 

Index

NAME
SYNOPSIS
Classes
Public Types
Public Member Functions
Friends
Detailed Description
template<typename _IntType = int>
Member Typedef Documentation
template<typename _IntType = int> typedef _IntType std::binomial_distribution< _IntType >::result_type
Member Function Documentation
template<typename _IntType = int> result_type std::binomial_distribution< _IntType >::max () const [inline]
template<typename _IntType = int> result_type std::binomial_distribution< _IntType >::min () const [inline]
template<typename _IntType = int> template<typename _UniformRandomNumberGenerator > result_type std::binomial_distribution< _IntType >::operator() (_UniformRandomNumberGenerator & __urng) [inline]
template<typename _IntType > template<typename _UniformRandomNumberGenerator > binomial_distribution< _IntType >::result_type std::binomial_distribution< _IntType >::operator() (_UniformRandomNumberGenerator & __urng, const param_type & __param)
template<typename _IntType = int> double std::binomial_distribution< _IntType >::p () const [inline]
template<typename _IntType = int> param_type std::binomial_distribution< _IntType >::param () const [inline]
template<typename _IntType = int> void std::binomial_distribution< _IntType >::param (const param_type & __param) [inline]
template<typename _IntType = int> void std::binomial_distribution< _IntType >::reset () [inline]
template<typename _IntType = int> _IntType std::binomial_distribution< _IntType >::t () const [inline]
Friends And Related Function Documentation
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]
template<typename _IntType = int> bool operator== (const binomial_distribution< _IntType > & __d1, const binomial_distribution< _IntType > & __d2) [friend]
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]
Author