A
negative_binomial_distribution random number distribution
produces random integers
i≥0
distributed according to
the discrete probability function
P(i|k,p)=(k+i−1i)⋅pk⋅(1−p)i . [
Note: This implies that
P(i|k,p) is undefined when
p == 1. —
end note ]
template<class IntType = int>
class negative_binomial_distribution {
public:
using result_type = IntType;
using param_type = unspecified;
negative_binomial_distribution() : negative_binomial_distribution(1) {}
explicit negative_binomial_distribution(IntType k, double p = 0.5);
explicit negative_binomial_distribution(const param_type& parm);
void reset();
template<class URBG>
result_type operator()(URBG& g);
template<class URBG>
result_type operator()(URBG& g, const param_type& parm);
IntType k() const;
double p() const;
param_type param() const;
void param(const param_type& parm);
result_type min() const;
result_type max() const;
};
explicit negative_binomial_distribution(IntType k, double p = 0.5);