[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-gsl] Bug in vegas.c
From: |
Patrick Alken |
Subject: |
Re: [Bug-gsl] Bug in vegas.c |
Date: |
Sat, 21 Mar 2015 09:17:51 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 |
Thanks for the report David. Do you have a simple program which
demonstrates the bug?
Patrick
On 03/21/2015 01:59 AM, David Zaslavsky wrote:
> 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
>