[v3] libstdc++/56202

Submitted by Paolo Carlini on Feb. 4, 2013, 5:18 p.m.

Details

Message ID 510FED5B.3010906@oracle.com
State New
Headers show

Commit Message

Paolo Carlini Feb. 4, 2013, 5:18 p.m.
Hi,

tested x96_64-linux, committed to mainline.

Thanks,
Paolo.

/////////////////////
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.

Patch hide | download patch | download mbox

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;
 	  }