cpp / latest / numeric / random / negative_binomial_distribution / negative_binomial_distribution.html /

std::negative_binomial_distribution<IntType>::negative_binomial_distribution

negative_binomial_distribution() : negative_binomial_distribution(1) {}
(1) (since C++11)
explicit negative_binomial_distribution( IntType k, double p = 0.5 );
(2) (since C++11)
explicit negative_binomial_distribution( const param_type& params );
(3) (since C++11)

Constructs a new distribution object. (2) uses k and p as the distribution parameters. (3) uses params as the distribution parameters.

Parameters

k - the k distribution parameter (number of trial successes)
p - the p distribution parameter (probability of a trial generating true)
params - the distribution parameter set

Notes

Requires that 0 < p ≤ 1 and 0 < k.

If p == 1, subsequent calls to the operator() overload that does not accept a param_type object will cause undefined behavior.

The default-constructed std::negative_binomial_distribution is equivalent to the default-constructed std::geometric_distribution.

Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
P0935R0 C++11 default constructor was explicit made implicit

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/negative_binomial_distribution