That Linux Squeak 2.3 float error again

Lex Spoon lex at cc.gatech.edu
Wed Feb 24 16:26:58 UTC 1999


"R. A. Harmon" <harmonra at webname.com> wrote:
> At 08:41 PM 2/23/99 -0500, David T. Lewis wrote:
> >Some further explanation of the behavior of Float>>exp in Squeak:
> >
> >The Float>>exp method in Squeak is based on the behavior of exp() in
> >the C runtime library. The Squeak VM (at least on Unix) assumes that
> >the underlying C library behaves reasonably for the boundary
conditions
> >of negative infinity and positive infinity. In fact, however,
> >implementations of the C library vary.
> [snip]
> 
> That seems to be a receipt for endless errors without resolution.
> 

Does anyone know what the IEEE standard says about this situation?  Is
exp(-Inf) required to return 0, or is it allowed to return NaN?

I've heard one report that libc6 on linux has it return 0; my libc5
system returns NaN.  So recent enough Linux distributions would already
have this fixed, assuming Squeak actually uses the normal exp()
function.

Lex





More information about the Squeak-dev mailing list