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.