[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Implementation of read-ieee-float64



On 9-Dec-05, at 12:21 AM, Bradley Lucier wrote:


On Dec 8, 2005, at 9:12 PM, Alex Shinn wrote:

On 12/7/05, Bradley Lucier <lucier@xxxxxxxxxxxxxxx> 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 may not be unreasonable for an implementation without rationals, like bigloo, but perhaps it would be better to do an inexact expt in this case.

Choosing between the lesser of two evil^H^H^H^Hbugs,

I'm working on a new expt that trusts libm's pow function more ...

Brad

Brad, would it be sound to compute (expt X -Y) as (expt (/ X) Y) ? This would solve the denormalized result case but I'm wondering how this compares precision-wise to (/ (expt X Y)).

Marc