[Bug libstdc++/57674] New: wrong distribution for std::binomial_distribution::operator()(g,param)
schlaffi at users dot sourceforge.net
gcc-bugzilla@gcc.gnu.org
Sat Jun 22 13:35:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57674
Bug ID: 57674
Summary: wrong distribution for
std::binomial_distribution::operator()(g,param)
Product: gcc
Version: 4.7.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: schlaffi at users dot sourceforge.net
Created attachment 30337
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30337&action=edit
example where bindist(gen,param) fails
std::binomial_distribution::operator()(g,param) produces an invalid statistic.
It uses the old probability p_old if param.p<.5 and otherwise 1-p_old. Looks
like a typo.
That is, dist(gen,para2); gives
distribution 1: p = 0.8, f = 0.798828
distribution 2: p = 0.3, f = 0.206055
while dist.param(para2);dist(gen); gives
distribution 1: p = 0.8, f = 0.324219
distribution 2: p = 0.3, f = 0.295898
I briefly checked the SVN, there does not seem to be a change since v2.7.8.
More information about the Gcc-bugs
mailing list