http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56202



--- Comment #12 from Paolo Carlini <paolo.carlini at oracle dot com> 2013-02-04 
19:23:38 UTC ---

Ok, thanks Manuel. Let's go with this follow up then, mainline only. If nothing

bad is reported may be suited for the branch too:



Index: include/bits/random.h

===================================================================

--- include/bits/random.h    (revision 195721)

+++ include/bits/random.h    (working copy)

@@ -3770,7 +3770,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION

    * @brief A discrete binomial random number distribution.

    *

    * The formula for the binomial probability density function is

-   * @f$p(i|t,p) = \binom{n}{i} p^i (1 - p)^{t - i}@f$ where @f$t@f$

+   * @f$p(i|t,p) = \binom{t}{i} p^i (1 - p)^{t - i}@f$ where @f$t@f$

    * and @f$p@f$ are the parameters of the distribution.

    */

   template<typename _IntType = int>

Index: include/bits/random.tcc

===================================================================

--- include/bits/random.tcc    (revision 195722)

+++ include/bits/random.tcc    (working copy)

@@ -1657,13 +1657,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION



     do

       {

+        if (__t == __x)

+          return __x;

         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