std::binomial_distribution< _IntType > Class Template Reference
Bernoulli Distributions

## 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)
template<typename _UniformRandomNumberGenerator >
binomial_distribution < _IntType >::result_type | _M_waiting (_UniformRandomNumberGenerator &__urng, _IntType __t)
result_type | max () const
result_type | min () const
template<typename _UniformRandomNumberGenerator >
binomial_distribution < _IntType >::result_type | operator() (_UniformRandomNumberGenerator &__urng, const param_type &__param)
template<typename _UniformRandomNumberGenerator >
result_type | operator() (_UniformRandomNumberGenerator &__urng)
template<typename _UniformRandomNumberGenerator >
result_type | operator() (_UniformRandomNumberGenerator &__urng, const param_type &__p)
double | p () const
param_type | param () const
void | param (const param_type &__param)
void | reset ()
_IntType | t () const

## 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)
bool | operator== (const binomial_distribution &__d1, const binomial_distribution &__d2)
template<typename _IntType1 , typename _CharT , typename _Traits >
std::basic_istream< _CharT, _Traits > & | operator>> (std::basic_istream< _CharT, _Traits > &__is, std::binomial_distribution< _IntType1 > &__x)

## 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 where and are the parameters of the distribution.

Definition at line 3777 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 3780 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 3887 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 3880 of file random.h.

template<typename _IntType = int>
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 1685 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>
template<typename _UniformRandomNumberGenerator >

result_type std::binomial_distribution< _IntType >::operator() | ( | _UniformRandomNumberGenerator & | __urng | ) |

inline

Generating functions.

Definition at line 3895 of file random.h.

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

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

template<typename _IntType = int>

double std::binomial_distribution< _IntType >::p | ( |  | ) | const

inline

Returns the distribution `p` parameter.

Definition at line 3858 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 3865 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 3873 of file random.h.

template<typename _IntType = int>

void std::binomial_distribution< _IntType >::reset | ( |  | ) |

inline

Resets the distribution state.

Definition at line 3844 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 3851 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 3931 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.

The documentation for this class was generated from the following files:

- random.h
- bits/random.tcc