David kerber wrote:
> Mike McCarty wrote:
>> From the website...
>>
>> "Since floating point computations are inexact, after every iteration
>> the floating point values are rounded back to integers."
>>
>> Floating point operations are not inexact. There is exactly one
>> properly computed result for any given floating point operation.
>>
> That is not what inexact means, though. Inexact means that the result
> is not (always) exactly correct. Your definition would be saying that
> they are precise (repeatable), but they are still not exact.
No, floating point operations are exact, and are always
exactly correct (barring hardware or software failure).
Looking in my largest dictionary (1929 pages) Funk & Wagnall's
New Comprehensive International Dictionary, I find...
in-ex-act adj Not exact, accurate or true.
That's the full definition. All floating point operations
are exact, accurate, and true. They just aren't the same
as the corresponding operations on (mathematical) real numbers.
In fact, floating point numbers are integers, just with
a different set of operations defined on them. As such, the
operations on them are exact, accurate, and true in precisely
the same way ordinary integer operations on them are exact,
accurate, and true. There is only one exact result which must
be the one produced.
Each FP number may be used to represent precisely one real number.
The operations on the FP numbers correspond closely to other operations
performed on those representable real numbers. But the result is
constrained to be another integer, an exact machine number. This number
may or may not correspond to the real number which is the result
of the corresponding real number operation. That's all. If the
result of the real number operation is not representable, then
the FP result cannot, even in principle, correspond to the
real number result. There is no inaccuracy or inexactness or
incorrectness involved.
>> This statement unfortunately perpetuates a misconception about
>> floating point. Perhaps a slight re wording, along the lines of
>>
>> "Since floating point operations do not always produce exactly
>> the same results as the corresponding operations with real numbers,
>>
> That's what "inexact" means in this context.
Hmm. If floating point operations were inexact, then there would
be no way to say that any particular implementation failed. For
example, consider the infamous FDIV bug in the Intel architecture.
If FP ops were inexact, then all you could say was that these
operations were more inexact than others. However, the truth
is that FP ops are not inexact, and the FDIV results were WRONG.
I don't want to start a debate, especially since it would be
OT here. So, I've made my recommendation, and the owner of the
web site may act upon it or not as he sees fit.
Any who wish to continue this exchange are invited to contact
me directly, but off list, please.
Mike
--
p="p=%c%s%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}
Oppose globalization and One World Governments like the UN.
This message made from 100% recycled bits.
You have found the bank of Larn.
I can explain it for you, but I can't understand it for you.
I speak only for myself, and I am unanimous in that!
_______________________________________________
Prime mailing list
[email protected]
http://hogranch.com/mailman/listinfo/prime