]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR libstdc++/80506 (Wrong magic number in std::gamma_distribution)
authorEdward Smith-Rowland <3dw4rd@verizon.net>
Mon, 7 May 2018 16:23:29 +0000 (16:23 +0000)
committerEdward Smith-Rowland <emsr@gcc.gnu.org>
Mon, 7 May 2018 16:23:29 +0000 (16:23 +0000)
2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
    Jonathan Wakely  <jwakely@redhat.com>

Backport from mainline
2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR libstdc++/80506
* include/bits/random.tcc (gamma_distribution::operator()): Fix magic
number used in loop condition.
(gamma_distribution::__generate_impl()): Ditto.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r260006

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/random.tcc

index 9456415a4b4a594c8040d3e0987b67ca2ba0f620..aa35f4927770927fd40623798bcc9b130f5a8621 100644 (file)
@@ -1,3 +1,14 @@
+2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
+           Jonathan Wakely  <jwakely@redhat.com>
+
+       Backport from mainline
+       2018-05-07  Edward Smith-Rowland  <3dw4rd@verizon.net>
+
+       PR libstdc++/80506
+       * include/bits/random.tcc (gamma_distribution::operator()): Fix magic
+       number used in loop condition.
+       (gamma_distribution::__generate_impl()): Ditto.
+
 2018-05-03  Jonathan Wakely  <jwakely@redhat.com>
 
        PR libstdc++/84769
index df05ebea6e9ab9f8aae25d619df3f079e1b73668..c43d85551c3585af2f074f2e826536c96a0f9966 100644 (file)
@@ -2356,7 +2356,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
            __v = __v * __v * __v;
            __u = __aurng();
          }
-       while (__u > result_type(1.0) - 0.331 * __n * __n * __n * __n
+       while (__u > result_type(1.0) - 0.0331 * __n * __n * __n * __n
               && (std::log(__u) > (0.5 * __n * __n + __a1
                                    * (1.0 - __v + std::log(__v)))));
 
@@ -2405,7 +2405,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                  __v = __v * __v * __v;
                  __u = __aurng();
                }
-             while (__u > result_type(1.0) - 0.331 * __n * __n * __n * __n
+             while (__u > result_type(1.0) - 0.0331 * __n * __n * __n * __n
                     && (std::log(__u) > (0.5 * __n * __n + __a1
                                          * (1.0 - __v + std::log(__v)))));
 
@@ -2426,7 +2426,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                  __v = __v * __v * __v;
                  __u = __aurng();
                }
-             while (__u > result_type(1.0) - 0.331 * __n * __n * __n * __n
+             while (__u > result_type(1.0) - 0.0331 * __n * __n * __n * __n
                     && (std::log(__u) > (0.5 * __n * __n + __a1
                                          * (1.0 - __v + std::log(__v)))));