[PATCH] PR libstdc++/80506 fix constant used in condition

Ed Smith-Rowland 3dw4rd@verizon.net
Sun May 6 01:19:00 GMT 2018


On 04/26/2017 05:16 AM, Jonathan Wakely wrote:
> On 26/04/17 11:14 +0200, Paolo Carlini wrote:
>> .. or maybe using the wrong constant only impacts the performance?!?
>
> Yes, I think so. I did some very simple sanity tests and the numbers
> were identical before and after.
>
>
>
I was backporting this and saw that __generate_impl does this twice more.

For trunk and branch-8 I have these patches.

OK?


-------------- next part --------------

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

	Moar PR libstdc++/80506
	* include/bits/random.tcc (gamma_distribution::__generate_impl()):
	Fix magic number used in loop condition.
-------------- next part --------------
Index: include/bits/random.tcc
===================================================================
--- include/bits/random.tcc	(revision 259965)
+++ include/bits/random.tcc	(working copy)
@@ -2408,7 +2408,7 @@
 		  __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)))));
 
@@ -2429,7 +2429,7 @@
 		  __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)))));
 


More information about the Libstdc++ mailing list