Closed rtoy closed 2 days ago
Imported from SourceForge on 2024-07-04 20:20:26 Created by billingd on 2006-01-11 23:18:12 Original: https://sourceforge.net/p/maxima/bugs/852/#63f9
Logged In: YES user_id=365569
Fixed with patch to clmacs.lisp rev 1.20 Test in rtest16.mac rev 1.10
Imported from SourceForge on 2024-07-04 20:20:29 Created by billingd on 2006-01-11 23:18:56 Original: https://sourceforge.net/p/maxima/bugs/852/#661c
Imported from SourceForge on 2024-07-04 20:20:25 Created by billingd on 2006-01-11 23:09:05 Original: https://sourceforge.net/p/maxima/bugs/852
With 5.9.2 and CVS maxima with clisp on cygwin I see
(%i1) float(0.0b0); Floating point overflow in converting 0.0B0 to flonum -- an error. Quitting. To debug this try debugmode (true);
Robert Dodier reported
clisp 2.34 / maxima 5.9.2cvs / linux => same error gcl 2.6.7 / maxima 5.9.2cvs / linux => OK
Raymond Toy found the problem
The problem is in fp2flo in float.lisp and can be seen to be caused by clisp:
(/ 0 (expt 2d0 53)) => 0 instead of 0d0.
The error message that is produced is wrong because it thinks if scale-float signals an error, it's because of overflow. In this case scale-float signals an error because the first arg is not a float.
Fixed bysetting custom:*floating-point-rational- contagion-ansi* to T. Then (/ 0 1d0) => 0d0, as expected.