Re: Implementation of read-ieee-float64
Marc Feeley 09 Dec 2005 14:27 UTC
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 <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 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