On 07/02/2006, at 11:06 PM, Bruno Haible wrote:

Werner Lemberg wrote:
I then hesitated to add it to groff because it adds code which
produces platform-dependent results, .... the
situation has become much better, and today most of the IEEE
implementations appear to work fine.

Results of elementary and transcendental functions are still far from being
platform-independent today:
- The x86 compatible processors perform many 'double' computations with 64 bits of precision, instead of 53 bits as in IEEE. After rounding,
    this manifests through changes in the last mantissa bit.
- The file listing the maximum deviation of the transcendental function
    results from the exact values in glibc (called
    glibc/sysdeps/i386/fpu/libm-test-ulps) is updated occasionally,
    when new processor versions from Intel or AMD are published.
  - The behaviour of floating-point division by 0 or of floating-point
overflow is platform dependent: On Linux/alpha these yield an exception (SIGFPE) by default, whereas on Linux/x86 they yield a NaN and Infinity
    value, respectively.

(see http://www.math.utah.edu/pub/hoc/)

The comments in hoc-7.0.6.beta/chkieee.c and the #ifdefs in the rest of this
package also indicate that there are major portability problems.

TeX had platform-independent output as a design goal; I believe this is still
as important as it was 25 years ago.

Bruno



Yes, I agree that portability is important and that there are some problems. However, I'd like to add a quote from the father of operator calculus, Oliver Heaviside, an engineer, strongly criticized by mathematicians 'cause of his
not too strict adherence to the way of the mathematician:

"Why should I refuse a good dinner simply because I don't understand the
digestive processes involved?"

:-)

Miklos



_______________________________________________
Groff mailing list
Groff@gnu.org
http://lists.gnu.org/mailman/listinfo/groff

Reply via email to