libstdc++: std::binomial_distribution< _IntType > Class Template Reference

libstdc++

std::binomial_distribution< _IntType > Class Template Reference
Numerics » Random Number Generation » Random Number Distributions » Bernoulli Distributions

`#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
result_type | min () const
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.

Since
  C++11

Definition at line 4564 of file random.h.

## Member Typedef Documentation

## ◆ result_type

template<typename _IntType = int>

typedef _IntType std::binomial_distribution< _IntType >::result_type

The type of the range of the distribution.

Definition at line 4571 of file random.h.

## Constructor & Destructor Documentation

## ◆ binomial_distribution() [1/3]

template<typename _IntType = int>

std::binomial_distribution< _IntType >::binomial_distribution | ( |  | ) |
| inline

Definition at line 4626 of file random.h.

## ◆ binomial_distribution() [2/3]

template<typename _IntType = int>

std::binomial_distribution< _IntType >::binomial_distribution | ( | _IntType | __t,
|  | double | __p = 0.5 )
| inline explicit

Definition at line 4629 of file random.h.

## ◆ binomial_distribution() [3/3]

template<typename _IntType = int>

std::binomial_distribution< _IntType >::binomial_distribution | ( | const param_type & | __p | ) |
| inline explicit

Definition at line 4634 of file random.h.

## Member Function Documentation

## ◆ __generate() [1/3]

template<typename _IntType = int>
template<typename _ForwardIterator, typename _UniformRandomNumberGenerator>

void std::binomial_distribution< _IntType >::__generate | ( | _ForwardIterator | __f,
|  | _ForwardIterator | __t,
|  | _UniformRandomNumberGenerator & | __urng )
| inline

Definition at line 4704 of file random.h.

## ◆ __generate() [2/3]

template<typename _IntType = int>
template<typename _ForwardIterator, typename _UniformRandomNumberGenerator>

void std::binomial_distribution< _IntType >::__generate | ( | _ForwardIterator | __f,
|  | _ForwardIterator | __t,
|  | _UniformRandomNumberGenerator & | __urng,
|  | const param_type & | __p )
| inline

Definition at line 4711 of file random.h.

## ◆ __generate() [3/3]

template<typename _IntType = int>
template<typename _UniformRandomNumberGenerator>

void std::binomial_distribution< _IntType >::__generate | ( | result_type * | __f,
|  | result_type * | __t,
|  | _UniformRandomNumberGenerator & | __urng,
|  | const param_type & | __p )
| inline

Definition at line 4718 of file random.h.

## ◆ max()

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

## ◆ min()

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

## ◆ operator()() [1/2]

template<typename _IntType = int>
template<typename _UniformRandomNumberGenerator>

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

Generating functions.

Definition at line 4693 of file random.h.

Referenced by operator()().

## ◆ operator()() [2/2]

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!).

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

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.

Definition at line 4656 of file random.h.

## ◆ param() [1/2]

template<typename _IntType = int>

param_type std::binomial_distribution< _IntType >::param | ( |  | ) | const
| inline

Returns the parameter set of the distribution.

Definition at line 4663 of file random.h.

## ◆ param() [2/2]

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

## ◆ reset()

template<typename _IntType = int>

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

Resets the distribution state.

Definition at line 4642 of file random.h.

## ◆ t()

template<typename _IntType = int>

_IntType std::binomial_distribution< _IntType >::t | ( |  | ) | const
| inline

Returns the distribution `t` parameter.

Definition at line 4649 of file random.h.

## Friends And Related Symbol Documentation

## ◆ 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`.

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.

## ◆ 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.

Definition at line 4729 of file random.h.

## ◆ 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`.

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