|
Authored by: mtew on Thursday, March 28 2013 @ 11:49 PM EDT |
The modes have to do with how the result of the calculation
is rounded when stored after the calculation. The result of
almost any (but not quite all) floating point operations by
the hardware contain more information than can be stored in
memory or, in many cases, even in a 'register'. That is the
hardware result has to be 'rounded' in order to be stored.
The 'result rounding mode' is set in the floating point
configuration register and is NOT part of the 'number'
stored in memory. It sometimes has an impact on the value
stored. The different rounding modes have different
mathematical properties because they introduce different
kinds of errors into the result.
Some modes may take an extra cycle through the
computational circuits on some implementations. The usual
default mode avoids the extra cycle, but that mode
introduces a kind of error that preclude doing additional
computations to get higher accuracy.
I forget which section of Knuth's 'Art of Computer
Programming' explains how it works, but the theory was well
known before the IEEE floating point standard was ratified.
In other words, the modified process introduces an extra
operation into a computation that would only speed the
calculation on some (probably rare these days)
implementations. It should NOT be applied without a
careful analysis of its impact on accuracy and equally
carefully conducted benchmarks to assure that it produces a
real improvement in performance.
---
MTEW[ Reply to This | Parent | # ]
|
|
Authored by: Anonymous on Thursday, March 28 2013 @ 11:51 PM EDT |
The same way you tell if it is floating point or integer.
The programmer, or more likely the compiler, keeps track of what types of data
are stored where, and codes accordingly.[ Reply to This | Parent | # ]
|
|
|
|
|