bug-gnu-utils
[Top][All Lists]
Advanced

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

Re: A BUG of 64-bit integer addition


From: Aharon Robbins
Subject: Re: A BUG of 64-bit integer addition
Date: Sun, 20 Apr 2008 23:02:29 +0300

In article <address@hidden> you write:
>John Cowan schrieb:
>
>> Does it?  The C double type is not technically portable, although it is
>> portable on all modern CPUs.
>
>I am not the ISO C standard expert, but I remember
>some patches and fixes by GNU maintainers like
>Arnold Robbins and Paul Eggert. For a short time,
>support for native 64 bit floating point was tried
>(and it worked). But imagine what happened to the
>regression tests: some failed because actual results
>of arithmetic depends on the local machine. In the
>end, both agreed that 64 bit floats shouldnt be
>supported. It was Paul Eggert (if I remember correctly)
>who supplied the patch after Arnold Robbins had decided
>on the issue. After this, only very few further problems
>were reported (mostly on printf formatting details).

I tried moving to long double shortly before the release of 3.1.6 but I
had to back it out; it introduced too many unexpected portability issues.
So I wouldn't really say that "it worked".

Paul added stuff so that double to long long and unsigned long long
would work better, which I subsequently isolated into floatcomp.c for
a little better code cleanliness.

Off and on I've given consideration to moving to infinite precision
numbers in gawk, but that's also something of a sea change that I'm not
quite up to making.

It seems that in the past few years the user base has broadened to many
more non-technical types, who are unfamiliar with the issues of double
precision floating point....

Arnold
-- 
Aharon (Arnold) Robbins                                 arnold AT skeeve DOT com
P.O. Box 354            Home Phone: +972  8 979-0381    Fax: +1 206 202 4333
Nof Ayalon              Cell Phone: +972 50  729-7545
D.N. Shimshon 99785     ISRAEL




reply via email to

[Prev in Thread] Current Thread [Next in Thread]