I did a test for the negative binomial distribution with parameters k = 1 and p = {-0.5, 0.0, 0.5, 1.0, 1.5}. Constructor: fail: Constructor calls abort pass: Constructor passes without any problems but mathemtically this distribution is not defined Ok: Constructor passes and parameters are valid Sampling: fail: Sampling from a constructed negative binomial distribution object fails (mostly due to parameter problems while constructing the poisson (in std case) or gamma (in boost case) distribution wrong: Sampling creates a value which is wrong. Either always zero or -2^31 Ok: Everything is fine. STD random (-D_GLIBCXX_DEBUG) p = | -0.5 | 0.0 | 0.5 | 1.0 | 1.5 | ------------+------+------+-----+------+------+ Constructor | fail | fail | Ok | pass | fail | Sampling | -- | -- | Ok | fail | -- | Value | -- | -- | Ok | -- | -- | BOOST random p = | -0.5 | 0.0 | 0.5 | 1.0 | 1.5 | ------------+------+-------+-----+------+------+ Constructor | pass | pass | Ok | pass | pass | Sampling | fail | wrong | Ok | fail | fail | Value | -- | -2^31 | Ok | -- | -- | STD random p = | -0.5 | 0.0 | 0.5 | 1.0 | 1.5 | ------------+-------+-------+-----+-------+-------+ Constructor | pass | pass | Ok | pass | pass | Sampling | wrong | wrong | Ok | wrong | wrong | Value | 0 | -2^31 | Ok | 0 | 0 |