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

[Pkg-octave-devel] Bug#493869: Bug#493869: octave3.0: gaminv and gamcdf crash for big values of parameter A



"Thomas Weber" <thomas.weber.mail@gmail.com> a écrit :

Am Dienstag, den 05.08.2008, 15:49 +0200 schrieb Sebastien Villemot:
Package: octave3.0
Version: 1:3.0.1-6
Severity: normal

gaminv and gamcdf function crash with the following parameters:

octave> gaminv(0.5,600,1)
 ***MESSAGE FROM ROUTINE D9LGIT IN LIBRARY SLATEC.
 ***FATAL ERROR, PROG ABORTED, TRACEBACK REQUESTED
 *  NO CONVERGENCE IN 200 TERMS OF CONTINUED FRACTION
 *  ERROR NUMBER = 3
 *
 ***END OF MESSAGE

octave> gamcdf(600, 600, 1)
 ***MESSAGE FROM ROUTINE D9LGIT IN LIBRARY SLATEC.
 ***FATAL ERROR, PROG ABORTED, TRACEBACK REQUESTED
 *  NO CONVERGENCE IN 200 TERMS OF CONTINUED FRACTION
 *  ERROR NUMBER = 3
 *
 ***END OF MESSAGE

That's not a crash, is it? The functions inform you that they didn't
converge.

I called it a crash since the functions aborted without returning a meaningful value, but it doesn't crash Octave. Calling it a failure may therefore be more appropriate.

Note that if you replace 600 by 500, the problem doesn't occur.

See
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=418158

d9lgit.f needs an improvement, either directly or by completely
replacing it with something better.

Thanks for pointing me to this bug report. I hadn't noticed that the bug in poisscdf() was indeed caused by the same problem in gammainc(), itself caused by a problem in d9lgit.

Best

Sébastien Villemot






Reply to: