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