[ANSI-Smalltalk] Agenda items...
Andres Valloud
andres.valloud at gmail.com
Wed Nov 14 23:55:31 GMT 2007
Paolo,
Yes, the implementation here uses 1023 and -1022. Hmmmm... I am not sure
about emax / emin being off by one though. If the range goes from 0 to
2047, and 0 and 2047 are taken, then that takes one off from each side, and
1024 / -1021 do not balance out that way?...
Andres.
On Nov 13, 2007 11:49 PM, Paolo Bonzini <paolo.bonzini at lu.unisi.ch> wrote:
> > fmax
> > (1 - (self radix raisedTo: self precision negated))
> > * (self radix raisedTo: self emax + 1)
> >
> > Note the ANSI spec says
> >
> > (1 - (self radix raisedTo: self precision negated))
> > * (self radix raisedTo: self emax)
> >
> > fminDenormalized
> > self radix raisedTo: self emin - self precision + 1
> >
> > Note the ANSI spec says
> >
> > self radix raisedTo: self emin - self precision
>
> I think you also have emin and emax off by one. :-) The exponent field
> goes from 1 to 2046 for Doubles, since 0 is reserved for zero/denormals
> and 2047 for infinities/NaNs.
>
> Since the mantissa in LIA-1 is < 1, emax is 1024 and emin is -1021. You
> probably are using 1023 and -1022.
>
> Then, if you put precision = 52 in this you do get an off-by-one error,
> which convinces me more that, as you said, the right value of precision
> should include the implicit 1. So, no errata in <FloatCharacterization>
> right?
>
> Paolo
>
> _______________________________________________
> ANSI-Smalltalk mailing list
> ANSI-Smalltalk at lists.openskills.org
> http://lists.openskills.org/cgi-bin/mailman/listinfo/ansi-smalltalk
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openskills.org/pipermail/ansi-smalltalk/attachments/20071114/b0e606cc/attachment.html
More information about the ANSI-Smalltalk
mailing list