[v3] libstdc++/56202

Paolo Carlini paolo.carlini@oracle.com
Mon Feb 4 17:18:00 GMT 2013


Hi,

tested x96_64-linux, committed to mainline.

Thanks,
Paolo.

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

	PR libstdc++/56202
	* include/bits/random.tcc (binomial_distribution<>::
	_M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
	division by zero.
-------------- next part --------------
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;
 	  }


More information about the Gcc-patches mailing list