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.

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 |

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`

.

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.

http://en.cppreference.com/w/cpp/numeric/random/negative_binomial_distribution/negative_binomial_distribution