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