Skip to main content
Log in

A Constructive Criticism of the C/C++ Proposal for Complex Arithmetic

  • Published:
Reliable Computing

Abstract

The IEEE 754 and 854 standards regulate the behaviour of real floating-point arithmetic, as implemented in most current hard- and software systems. Although a myriad of libraries for complex floating-point arithmetic is available and in use, there is no general consensus on their implementation. The International C Standard describes in its Annex G guidelines for the implementation of complex arithmetic, in order to achieve a similar behaviour of complex floating-point arithmetic across C-language compliant implementations. In Section 2 we summarize its recommendations and outline the problems inherent to this approach. In Section 3 we describe how the lack of reliability, when computing certain complex-valued expressions, can be overcome. Throughout the discussion the rounding mode is assumed to be round-to-nearest, as in Annex G.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. ANSI/ISO/IEC 9899:1999: Annex G: IEC 60559-Compatible Complex Arithmetic (Informative), ANSI, 1999, pp. 465–478.

  2. Juric, Z.: TIGCC—Routines for Floating Point Arithmetic, Texas Instruments, http://tigcc.ticalc.org/doc/timath.html.

  3. Kahan, W.: Branch Cuts for Complex Elementary Functions, or Much Ado about Nothing’s Sign Bit, in: Iserles, A. and Powell, M. J. D. (eds), The State of the Art in Numerical Analysis, Oxford University Press, Oxford, 1987, pp. 165–211.

    Google Scholar 

  4. Language Independent Arithmetic—Part 3: Complex Integer and Floating Point Arithmetic and Complex Elementary Numerical Functions, Technical Report, WD 10967–3, ISO/IEC, 2001, http://anubis.dkuug.dk/JTC1/SC22/WG11/docs/n476.pdf.

  5. Ziv, A.: Sharp Ulp Rounding Error Bound for the Hypotenuse Function, Math. Comp. 68(227) (1999), pp. 1143–1148.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Franky Backeljauw.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Backeljauw, F., Cuyt, A. A Constructive Criticism of the C/C++ Proposal for Complex Arithmetic. Reliable Comput 11, 313–319 (2005). https://doi.org/10.1007/s11155-005-6893-9

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11155-005-6893-9

Keywords

Navigation