# std::binomial_distribution< _IntType > Class Template Reference
[Bernoulli]

A discrete binomial random number distribution. More...

List of all members.

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

## Friends

- template<typename _IntType1 , typename _CharT , typename _Traits > std::basic_ostream< _CharT,
  _Traits > & operator<< (std::basic_ostream< _CharT, _Traits > &, const std::binomial_distribution< _IntType1 > &)
- template<typename _IntType1 > bool operator== (const std::binomial_distribution< _IntType1 > &__d1, const std::binomial_distribution< _IntType1 > &__d2)
- template<typename _IntType1 , typename _CharT , typename _Traits > std::basic_istream< _CharT,
  _Traits > & operator>> (std::basic_istream< _CharT, _Traits > &, std::binomial_distribution< _IntType1 > &)

## 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 3417 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 3424 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 3527 of file random.h.

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

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 3520 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 3535 of file random.h.

References std::binomial_distribution< _IntType >::operator()(), and std::binomial_distribution< _IntType >::param().

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

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

References std::abs(), std::log(), and std::binomial_distribution< _IntType >::max().

template<typename _IntType = int>

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

Returns the distribution `p` parameter.

Definition at line 3498 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 3513 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 3505 of file random.h.

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

template<typename _IntType = int>

void std::binomial_distribution< _IntType >::reset | ( |  | ) | `[inline]`

Resets the distribution state.

Definition at line 3484 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 3491 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 > & | ,
|  | const std::binomial_distribution< _IntType1 > & |  |
| ) |  |  | `[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>
template<typename _IntType1 >

bool operator== | ( | const std::binomial_distribution< _IntType1 > & | __d1,
|  | const std::binomial_distribution< _IntType1 > & | __d2 |
| ) |  |  | `[friend]`

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

Definition at line 3550 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 > & | ,
|  | std::binomial_distribution< _IntType1 > & |  |
| ) |  |  | `[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
- random.tcc