bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gsl] Bug in vegas.c


From: David Zaslavsky
Subject: [Bug-gsl] Bug in vegas.c
Date: Sat, 21 Mar 2015 15:59:14 +0800

I'm fairly sure I've identified a small bug in the VEGAS implementation: in
lines 280-283 of vegas.c on the master branch,

    if (var > 0) { wgt = 1.0 / var; }

very small but nonzero values of var (like 1e-322) will cause wgt to be set
to inf, and that in turn causes gsl_monte_vegas_integrate to return nan.
The logical fix seems to be to treat any value of var satisfying
1.0/var==inf as zero, i.e.

-    if (var > 0)
+    if (var > 0 && gsl_finite(1.0 / var))

I don't know if that would break anything else, but I can't imagine how.
Thoughts?

I can send a proper patch file if desired (it's on my other computer).

:) David


reply via email to

[Prev in Thread] Current Thread [Next in Thread]