That Linux Squeak 2.3 float error again
Tim Olson
tim at jumpnet.com
Wed Feb 24 05:53:31 UTC 1999
>Should Squeak expect the underlying system
>libraries to be correct, or should it attempt to compensate for
>behavior of the runtime libraries in the interest of consistent
>Squeak behavior? My own inclination would be to leave Squeak
>well enough alone, but possibly document the dependency on the
>underlying libraries in the class documentation.
I agree with this direction -- the right thing to do is get the libraries
fixed. For the x86 Linux environments that are broken, it should be a
quick fix that will also benefit more than the Squeak project.
FYI, this isn't a generic Linux problem -- my Mac running Red-Hat release
5 gets the "correct" answers from your test program:
Linux version 2.1.125 (paulus at cargo.anu.edu.au)
(gcc version egcs-2.90.25 980302 (egcs-1.0.2 prerelease)) #25 Wed Oct 14
13:40:58 EST 1998
show behavior of C library exp() function at boundary conditions for
Linux megalith.localdomain 2.1.125 #25 Wed Oct 14 13:40:58 EST 1998 ppc
unknown
negative infinity:
log(0.0) = -Inf (00 00 00 00 00 00 f0 ff )
negative infinity again:
log(0.0)*0.75 = -Inf (00 00 00 00 00 00 f0 ff )
exp of negative infinity:
exp(log(0.0)*0.75) = 0.000000 (00 00 00 00 00 00 00 00 )
positive infinity:
exp(1.0e100)) = Inf (00 00 00 00 00 00 f0 7f )
exp of positive infinity:
exp(exp(1.0e100))) = Inf (00 00 00 00 00 00 f0 7f )
-- tim
More information about the Squeak-dev
mailing list
|