Abstract
The issues involved in designing the floating-point part of a programming language are discussed. Looking at the language specifications for most existing languages might suggest that this design involves only trivial issues, such as whether to have one or two types of REALs or how to name the functions that convert from INTEGER to REAL. It is shown that there are more significant semantic issues involved. After discussing the trade-offs for the major design decisions, they are illustrated by presenting the design of the floating-point part of the Modula-3 language.
- 1 ANSI. FORTRAN. S8(X3.9-198x}, version 112, American National Standards Institute, New York, June 1989.Google Scholar
- 2 ANSI. Reference manual for the Ada programming language. ANSI/MIL-STD 1815A, American National Standards Institute, New York, 1983. Google Scholar
- 3 BROWN, W. S. A simple but realistic model of floating-point computation. ACM Trans. Math. Softw. 7, 4 (Dec. 1981), 445-480. Google Scholar
- 4 CARDELLI, L., DONAHUE, D., GLASSMAN, L., JORDAN, M., KALSOW, B., AND NELSON, G. Modula-3 report (revised). Tech. Rep. 52, Digital Equipment Corp. System Research Center, Palo Alto, Calif., Nov. 1989.Google Scholar
- 5 CARTER, R.L. Electronic posting to the Numeric Interest mailing list. June 1991.Google Scholar
- 6 CLINGER, W.D. How to read floating point numbers accurately. In Proceedings of the ACM SIGPLAN 90 Conference on Programming Languages and Systems. ACM SIGPLAN Not. 25, 6 (June 1990), 92-101. Google Scholar
- 7 CONTE, S. D., AND DE BOOR, C. Elementary Numerical Analysis: An Algorithmic Approach. 3rd ed. McGraw-Hill, New York, 1980. Google Scholar
- 8 FARNUM, C. Compiler support for floating-point computation. Softw. Pract. Exper. 18, 7 (July 1988), 701-709. Google Scholar
- 9 FORSYTHE, G., AND MOLER, C. Computer Solutwn of Linear Algebraic Systems. Prentice-Hall, Englewood Cliffs, N.J., 1967.Google Scholar
- 10 GOLDBERG, D. What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23, i (Mar. 1991), 5-48. Google Scholar
- 11 GOLUB, G. H., AND VAN LOAN, C. Matrix Computations. 2nd ed. Johns Hopkins University Press, Baltimore, Md., 1989. Google Scholar
- 12 HOARE, C. A. R. An axiomatic basis for computer programming. Commun. ACM 12, 10 (Oct. 1969), 576-583. Google Scholar
- 13 HULL, T. E., AND COHEN, M.S. Toward an ideal computer arithmetic. In Proceedings of the 8th Symposium on Computer Arithmetic (Como, Italy, May 19-21). IEEE Computer Society, Los Alamitos, Calif., 1987, pp. 131-138.Google Scholar
- 14 IEEE. IEEE Standard 754-1985 for binary floating-point arithmetic. ACM SIGPLAN Not. 22, 2 (1985), 9-25.Google Scholar
- 15 NELSON, G., ED. Systems Programming with Modula-3. Prentice-Hall, Englewood Cliffs, N.J., 1991. Google Scholar
- 16 PRIEST, D.M. Algorithms for arbitrary precision floating point arithmetic. In Proceedings of the lOth Symposium on Computer Arithmetic (Grenoble, France, June 26-28, 1991). IEEE Computer Society, Los Alamitos, Calif., 1991, pp. 132-143.Google Scholar
- 17 STERBENZ, P.H. Floating-Point Computation. Prentice-Hall, Englewood Cliffs, N.J., 1974.Google Scholar
- 18 TANG, P. T.P. Table-driven implementation of the exponential function in IEEE floatingpoint arithmetic. ACM Trans. Math. Softw. 15, 2 (June 1989), 144-157. Google Scholar
Index Terms
The design of floating-point data types
Recommendations
What every computer scientist should know about floating-point arithmetic
Floating-point arithmetic is considered as esoteric subject by many people. This is rather surprising, because floating-point is ubiquitous in computer systems: Almost every language has a floating-point datatype; computers from PCs to supercomputers ...
A Combined Interval and Floating Point Multiplier
GLS '98: Proceedings of the Great Lakes Symposium on VLSI '98Interval arithmetic provides an efficient method for monitoring and controlling errors in numerical calculations. However, existing software packages for interval arithmetic are often too slow for numerically intensive computations. This paper presents ...
Redundant-Digit Floating-Point Addition Scheme Based on a Stored Rounding Value
Due to the widespread use and inherent complexity of floating-point addition, much effort has been devoted to its speedup via algorithmic and circuit techniques. We propose a new redundant-digit representation for floating-point numbers that leads to ...






Comments