Machine requirements for reliable, portable software
Arithmetical and relational operations in a machine must be designed in such a way that it enables us to make reliable, portable, efficient software. Therefore, operations must deliver either the correct result or an indication (trap, flag bit) that the operation has not been correctly performed. Incorrect results should be best possible, in order to increase software robustness.
Some consequences are: relational operations must always be correct; the result of integral arithmetical operations must be exact and that of real operations should be correctly rounded when the exact result is within certain (machine dependent) bounds; operations on single-precision operands yielding an exact (or correctly rounded) double-precision result should also be available.
Unable to display preview. Download preview PDF.
- 1.Brent, R. P., On the Precision Attainable With Various Floating-Point Number Systems, IEEE Trans. on Computers, pp. 601–607, (1973).Google Scholar
- 2.Brown, W. S., and Hall, A. D., FORTRAN Portability Via Models and Tools, To be published (1977).Google Scholar
- 3.Brown, W. S., and Richman, P. L., The Choice of Base, Comm. ACM 12, pp. 560–561 (1969).Google Scholar
- 4.Bus, J. C. P., and Dekker, T. J., Two Efficient Algorithms With Guaranteed Convergence for Finding a Zero of a Function, ACM Transactions on Mathematical Software 1, pp. 330–345 (1975).Google Scholar
- 5.Cody, W. J., Desirable Hardware Characteristics for Scientific Computation, SIGNUM Newsletter 6, pp. 16–31 (1971).Google Scholar
- 6.Cody, W. J., Desirable Arithmetic Design of Proposed MATHNET Computer, Letter to Gabriel, Argonne National Laboratory (1974).Google Scholar
- 7.Dekker, T. J., A Floating-Point Technique for Extending the Available Precision, Num. Math. 18, pp. 224–242 (1971).Google Scholar
- 8.Einarsson, B., IFIP Working Group on Numerical Software, SIGNUM Newsletter 9, pp. 3–4 (1974).Google Scholar
- 9.Grau, A. A., On a Floating-Point Number Representation for Use With Algorithmic Languages, Comm. ACM 5, pp. 160–161 (1962).Google Scholar
- 10.Kahan, W., Implementation of Algorithms, Part I, Technical Report 20, University of California, Berkeley (1973).Google Scholar
- 11.Knuth, D. E., The Art of Computer Programming, Vol. 2/Seminumerical Algorithms, Addison-Wesley (1969).Google Scholar
- 12.Meertens, L. G. L. T., A Note on Integral Division, ALGOL Bulletin, No. 39, pp. 30–32 (1976).Google Scholar
- 13.Reinsch, C. H., Building a Library of Numerical Algorithms: A Case Study From the Handbook "Linear Algebra," Paper presented at the first meeting of WG 2.5 at Oxford (1975).Google Scholar
- 14.Tanenbaum, A. S., Structured Computer Organisation, Prentice-Hall (1976).Google Scholar