Project 39: Precision control
Sophia-Antipolis 1985:
======================
Hull reported that Numerical Turing is a Pascal-like programming
language with precision control and other facilities for convenience
in numerical computation. A compiler is now available that runs on a
VAX under 4.2 BSD Unix.
Besides 0.0, all normalized p-digit decimal floating-point numbers
can be handled for p=1,2,...,200. (A p-digit number has an
exponent in the closed interval [-10p, 10p]. Precision can be
changed dynamically. Arithmetic is rounded to nearest, or to
nearest even in case of a tie. Directed roundings, div, mod,
getexp(x), setexp(x,n), currentprecision, maxprecision,
precisionof(x), pi are built-in. Elementary functions are within
1 ulp in current precision.
Examples were shown to illustrate the use of the facilities:
double precision dot product, Euclidean norm without intermediate
overflow or underflow, evaluation of exp(pi*sqrt(163)), testing a
function for properly rounded square roots, and solving a system of
linear equations to within a prescribed accuracy.
Future plans are to (1) add exception facilities, (2) incorporate
facilities into other languages, and (3) improve efficiency. For
greater efficiency, plans are underway to move Numerical Turing to
an IBM 4361 and consider replacing the software support package
with a microcode implementation, and also to develop a coprocessor
for a microcomputer. At present, for floating-point intensive
calculations, Numerical Turing is about 30 times slower in
precision 16 (decimal) than is the comparable double precision
(binary) of the VAX hardware. However, Numerical Turing is only
about 3 times slower in precision 100 than it is in precision
Stanford 1988:
==============
T. Hull informed the group that he considered the project concluded
and would like to close it. The members of WG 2.5 agreed.