Hi,

tested x96_64-linux, committed to mainline.

Thanks,
Paolo.

/////////////////////
2013-02-04  Manuel López-Ibáñez  <m...@gcc.gnu.org>
            Paolo Carlini  <paolo.carl...@oracle.com>

        PR libstdc++/56202
        * include/bits/random.tcc (binomial_distribution<>::
        _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
        division by zero.
Index: include/bits/random.tcc
===================================================================
--- include/bits/random.tcc     (revision 195717)
+++ include/bits/random.tcc     (working copy)
@@ -1658,6 +1658,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        do
          {
            const double __e = -std::log(1.0 - __aurng());
+           if (__t == __x)
+             {
+               if (__e)
+                 return __x;
+               continue;
+             }
            __sum += __e / (__t - __x);
            __x += 1;
          }

Reply via email to