Always false float comparisons

Tobias M via Digitalmars-d digitalmars-d at puremagic.com
Sat May 21 11:36:09 PDT 2016


On Saturday, 21 May 2016 at 17:58:49 UTC, Walter Bright wrote:
> On 5/21/2016 2:26 AM, Tobias Müller wrote:
>> On Friday, 20 May 2016 at 22:22:57 UTC, Walter Bright wrote:
>>> On 5/20/2016 5:36 AM, Tobias M wrote:
>>>> Still an authority, though.
>>>
>>> If we're going to use the fallacy of appeal to authority, may 
>>> I present Kahan
>>> who concurrently designed the IEEE 754 spec and the x87.
>>
>> Actually cited this *because* of you mentioning Kahan several 
>> times. And because
>> you said "The people who design these things are not fools, 
>> and there are good
>> reasons for the way things are."
>
> I meant two things by this:
>
> 1. Do the homework before disagreeing with someone who 
> literally wrote the book and designed the hardware for it.
>
> 2. Complaining that the x87 is not IEEE compliant, when the guy 
> that designed the x87 wrote the spec at the same time, suggests 
> a misunderstanding the spec. I.e. again, gotta do the homework 
> first.

Sorry but this is a misrepresentation. I never claimed that the 
x87 doesn't conform to the IEEE standard. That's completely 
missing the point. Again.

> Dismissing several decades of FP designs, and every programming 
> language, as being "obviously wrong" and "insane" is an 
> extraordinary claim, and so requires extraordinary evidence.
>
> After all, what would your first thought be when a sophomore 
> physics student tells you that Feynman got it all wrong? It's 
> good to revisit existing dogma now and then, and challenge the 
> underlying assumptions of it, but again, you gotta understand 
> the existing dogma all the way down first.
>
> If you don't, you're very likely to miss something fundamental 
> and produce a design that is less usable.

The point is, that is IS possible to provide fairly reasonable 
and consistent semantics within the existing standards (C, C++, 
IEEE, ...). They provide a certain degree of freedom to 
accomodate for different hardware, but this doesn't mean that 
software should use this freedom to do arbitrary things.

Regarding the decades of FP design, the initial edition of K&R C 
contained the following clause:
"Notice that all floats in an expression are converted to double; 
all floating point arithmethic in C is done in double precision".
That passus was removed quite quickly because users complained 
about it.


More information about the Digitalmars-d mailing list