Implementation of read-ieee-float64 Bradley Lucier (07 Dec 2005 05:01 UTC)
Re: Implementation of read-ieee-float64 Alex Shinn (09 Dec 2005 03:12 UTC)
Re: Implementation of read-ieee-float64 Bradley Lucier (09 Dec 2005 05:21 UTC)
Re: Implementation of read-ieee-float64 Marc Feeley (09 Dec 2005 14:27 UTC)
Re: Implementation of read-ieee-float64 Bradley Lucier (09 Dec 2005 19:51 UTC)

Re: Implementation of read-ieee-float64 Alex Shinn 09 Dec 2005 03:12 UTC

On 12/7/05, Bradley Lucier <xxxxxx@math.purdue.edu> wrote:
>
> Gambit 4.0b15 fails some srfi-56 tests because the first instance of
> 2.0 is not 2; unfortunately, Gambit-C calculates
>
> (expt 2.0 -1074)
>
> as
>
> (/ (expt 2.0 1074))

Hi, thanks for looking into this and getting it working with Gambit.
The (expt 2.0 ...) form was there for the sake of Bigloo, for which

  (expt N -M) => 0

for all exact integers N, M > 1.  This is clearly a bug on Bigloo's
part, but it seemed safe to compensate for it.  In particular, every
other tested implementation correctly evaluates (expt 2.0 -1024).

[Or so I thought.  Scheme48 also gives 0.0 for this.]

Choosing between the lesser of two evil^H^H^H^Hbugs, I'd
consider Bigloo's behavior the more egregious here, so let's
call (expt 2 ...) the correct reference form.

Congratulations, Gambit now passes all tests!

[And possibly the latest version of Scheme48 does as well.]

--
Alex