Skip to main content

Machine requirements for reliable, portable software

  • Conference paper
  • First Online:
Book cover Portability of Numerical Software

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 57))

  • 133 Accesses

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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 

Download references

Authors

Editor information

Wayne Cowell

Rights and permissions

Reprints and permissions

Copyright information

© 1977 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dekker, T.J. (1977). Machine requirements for reliable, portable software. In: Cowell, W. (eds) Portability of Numerical Software. Lecture Notes in Computer Science, vol 57. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-08446-0_33

Download citation

  • DOI: https://doi.org/10.1007/3-540-08446-0_33

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-08446-4

  • Online ISBN: 978-3-540-37071-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics