On Sat, 31 Oct 2009 13:51:58 +0100, Robert Klemme
<shortcutter / googlemail.com> wrote:

>On 10/31/2009 07:35 AM, George Neuner wrote:
>
>> It's also worth noting that most floating point hardware is not
>> anywhere close to 754 compliant even though most FPUs do use the
>> standard number formats (at least for single and double precision).
>
>Interesting!  I wasn't aware of that.  Why is that?  Do they just leave 
>out operations or are HW vendors actually cutting corners and digressing 
>from the prescribed algorithms / results?

Actually the primary reason for deviating from the standard is to
achieve better performance.  The standard algorithms are designed to
correctly handle a lot of corner cases that most users will never
encounter in practice.  Many manufacturers have chosen to make
expected normal use as fast as possible at the expense of handling the
corner cases incorrectly.

Many CPUs do not implement all the standard rounding modes.  Some use
projective affinity where the standard specifies affine infinity
(makes a difference whether +inf == -inf) and most do not support
gradual denormalization (underflow) but simply pin the result to zero
when underflow occurs.

What confuses people is that most CPUs now use (at least) IEEE-754
single and double precision bit formats ... because of that many
people conclude erroneously that the CPU is performing math according
to the 754 standard.

George