# std::binomial_distribution< _IntType, _RealType > Class Template Reference
[Discrete Distributions]

List of all members.

## Detailed Description

### template<typename _IntType = int, typename _RealType = double>
class std::binomial_distribution< _IntType, _RealType >

A discrete binomial random number distribution.

The formula for the binomial probability mass function is where and are the parameters of the distribution.

Definition at line 1891 of file tr1_impl/random.

## Public Types

- typedef _RealType input_type
- typedef _IntType result_type

## Public Member Functions

- binomial_distribution (_IntType __t=1, const _RealType &__p=_RealType(0.5))
- template<class _UniformRandomNumberGenerator> result_type operator() (_UniformRandomNumberGenerator &__urng)
- _RealType p () const
- void reset ()
- _IntType t () const

## Friends

- template<typename _IntType1, typename _RealType1, typename _CharT, typename _Traits> std::basic_ostream< _CharT,
  _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &__os, const binomial_distribution< _IntType1, _RealType1 > &__x)
- template<typename _IntType1, typename _RealType1, typename _CharT, typename _Traits> std::basic_istream< _CharT,
  _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &__is, binomial_distribution< _IntType1, _RealType1 > &__x)

## Member Function Documentation

template<typename _IntType, typename _RealType>
template<class _UniformRandomNumberGenerator>

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

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 1166 of file random.tcc.

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

template<typename _IntType = int, typename _RealType = double>

_RealType std::binomial_distribution< _IntType, _RealType >::p | ( |  | ) | const`[inline]`

Gets the distribution `p` parameter.

Definition at line 1919 of file tr1_impl/random.

template<typename _IntType = int, typename _RealType = double>

_IntType std::binomial_distribution< _IntType, _RealType >::t | ( |  | ) | const`[inline]`

Gets the distribution `t` parameter.

Definition at line 1912 of file tr1_impl/random.

## Friends And Related Function Documentation

template<typename _IntType = int, typename _RealType = double>
template<typename _IntType1, typename _RealType1, typename _CharT, typename _Traits>

std::basic_ostream<_CharT, _Traits>& operator<< | ( | std::basic_ostream< _CharT, _Traits > & | __os,
|  | const binomial_distribution< _IntType1, _RealType1 > & | __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, typename _RealType = double>
template<typename _IntType1, typename _RealType1, typename _CharT, typename _Traits>

std::basic_istream<_CharT, _Traits>& operator>> | ( | std::basic_istream< _CharT, _Traits > & | __is,
|  | binomial_distribution< _IntType1, _RealType1 > & | __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:

- tr1_impl/random
- random.tcc