Information technology — Language independent arithmetic — Part 3: Complex integer and floating point arithmetic and complex elementary numerical functions

ISO/IEC 10967-3:2005 is based on ISO/IEC 10967-2 and ISO/IEC 10967-1, as well as IEC 60559. ISO/IEC 10967-3:2005 specifies the properties of complex and imaginary integer datatypes and floating point datatypes, basic operations on values of these datatypes as well as some numerical functions for which operand or result values are of imaginary or complex integer datatypes or imaginary or complex floating point datatypes constructed from integer and floating point datatypes satisfying the requirements of ISO/IEC 10967-1. These operations and functions are available in a variety of programming languages in common use for mathematical and numerical applications. The specification includes: Basic imaginary integer and complex integer operations; Non-transcendental imaginary floating point and Cartesian complex floating point operations; Exponentiation, logarithm, radian trigonometric, and hyperbolic operations for imaginary floating point and Cartesian complex floating point; The results produced by an included floating point operation when one or more operand values include IEC 60559 special values; and Program-visible parameters that characterize certain aspects of the operations.

Technologies de l'information — Arithmétique indépendante des langages — Partie 3: Arithmétique des nombres complexes entiers et en virgule flottante et fonctions numériques élémentaires complexes

General Information

Status
Published
Publication Date
01-May-2006
Current Stage
9020 - International Standard under periodical review
Start Date
15-Apr-2026
Completion Date
15-Apr-2026

Overview

ISO/IEC 10967-3:2006 - "Information technology - Language independent arithmetic - Part 3" specifies language‑independent requirements for complex and imaginary integer datatypes and complex floating‑point arithmetic, including a broad set of complex elementary numerical functions. Built on ISO/IEC 10967‑1 and 10967‑2 and aligned with IEC 60559 (IEEE‑754) semantics, this standard defines datatype properties, basic operations, transcendental functions, and how implementations must behave when operands include floating‑point special values.

Key Topics and Requirements

  • Datatype definitions: Properties of imaginary integer, complex integer, imaginary floating‑point and Cartesian complex floating‑point types.
  • Basic operations: Addition, subtraction, multiplication (including multiplication by the imaginary unit), division, comparisons, real/imaginary part access, absolute value, phase and signum.
  • Transcendental functions: Specifications for exponentiation, logarithm, complex square root, radian trigonometric functions (sin, cos, tan and their inverses), and hyperbolic functions for complex arguments.
  • Accuracy and behavior constraints: Maximum error requirements, monotonicity and sign requirements, and helper/result functions to determine correct result datatypes.
  • Special values handling: Defined outcomes when operands include IEC 60559 special values (e.g., NaN, infinities), ensuring predictable behavior across implementations.
  • Conversion and numerals support: Conversions between integer/floating and complex types; support for imaginary/complex numeral literals.
  • Program-visible parameters and documentation: Parameters that characterize numeric behavior (so programs can select appropriate libraries) and specific documentation requirements for implementers.
  • Conformance and partial conformity: Rules for full and partial conformance, plus informative annexes explaining rationale and example language bindings (Ada, C, C++, Fortran, Common Lisp).

Applications and Who Uses It

  • Numerical library developers: Implementers of complex math libraries require precise specs for arithmetic and transcendental functions.
  • Programming language standards committees: For defining portable complex arithmetic semantics across platforms.
  • Compiler and runtime authors: To ensure consistent complex‑number behavior and special‑value propagation.
  • Scientific and engineering software teams: Developers of simulation, signal processing, control systems, and HPC applications where complex arithmetic accuracy and portability are critical.
  • Quality assurance and portability testing: Tools and test suites that verify numeric conformance across platforms.

Related Standards

  • ISO/IEC 10967‑1: Integer and floating point arithmetic
  • ISO/IEC 10967‑2: Elementary numerical functions
  • IEC 60559 (IEEE‑754): Floating‑point arithmetic standard

ISO/IEC 10967‑3:2006 helps ensure predictable, portable complex floating point and complex integer arithmetic-essential for reliable scientific computing, language standardization, and high‑quality numerical libraries.

Buy Documents

Standard

ISO/IEC 10967-3:2006 - Information technology — Language independent arithmetic — Part 3: Complex integer and floating point arithmetic and complex elementary numerical functions Released:5/2/2006

English language (149 pages)
sale 15% off
Preview
sale 15% off
Preview

Get Certified

Connect with accredited certification bodies for this standard

BSI Group

BSI (British Standards Institution) is the business standards company that helps organizations make excellence a habit.

UKAS United Kingdom Verified

NYCE

Mexican standards and certification body.

EMA Mexico Verified

Sponsored listings

Frequently Asked Questions

ISO/IEC 10967-3:2006 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology — Language independent arithmetic — Part 3: Complex integer and floating point arithmetic and complex elementary numerical functions". This standard covers: ISO/IEC 10967-3:2005 is based on ISO/IEC 10967-2 and ISO/IEC 10967-1, as well as IEC 60559. ISO/IEC 10967-3:2005 specifies the properties of complex and imaginary integer datatypes and floating point datatypes, basic operations on values of these datatypes as well as some numerical functions for which operand or result values are of imaginary or complex integer datatypes or imaginary or complex floating point datatypes constructed from integer and floating point datatypes satisfying the requirements of ISO/IEC 10967-1. These operations and functions are available in a variety of programming languages in common use for mathematical and numerical applications. The specification includes: Basic imaginary integer and complex integer operations; Non-transcendental imaginary floating point and Cartesian complex floating point operations; Exponentiation, logarithm, radian trigonometric, and hyperbolic operations for imaginary floating point and Cartesian complex floating point; The results produced by an included floating point operation when one or more operand values include IEC 60559 special values; and Program-visible parameters that characterize certain aspects of the operations.

ISO/IEC 10967-3:2005 is based on ISO/IEC 10967-2 and ISO/IEC 10967-1, as well as IEC 60559. ISO/IEC 10967-3:2005 specifies the properties of complex and imaginary integer datatypes and floating point datatypes, basic operations on values of these datatypes as well as some numerical functions for which operand or result values are of imaginary or complex integer datatypes or imaginary or complex floating point datatypes constructed from integer and floating point datatypes satisfying the requirements of ISO/IEC 10967-1. These operations and functions are available in a variety of programming languages in common use for mathematical and numerical applications. The specification includes: Basic imaginary integer and complex integer operations; Non-transcendental imaginary floating point and Cartesian complex floating point operations; Exponentiation, logarithm, radian trigonometric, and hyperbolic operations for imaginary floating point and Cartesian complex floating point; The results produced by an included floating point operation when one or more operand values include IEC 60559 special values; and Program-visible parameters that characterize certain aspects of the operations.

ISO/IEC 10967-3:2006 is classified under the following ICS (International Classification for Standards) categories: 35.060 - Languages used in information technology. The ICS classification helps identify the subject area and facilitates finding related standards.

ISO/IEC 10967-3:2006 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 10967-3
First edition
2006-05-01
Information technology — Language
independent arithmetic —
Part 3:
Complex integer and floating point
arithmetic and complex elementary
numerical functions
Technologies de l'information — Arithmétique indépendante des
langages —
Partie 3: Arithmétique des nombres complexes entiers et en virgule
flottante et fonctions numériques élémentaires complexes

Reference number
©
ISO/IEC 2006
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.

©  ISO/IEC 2006
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2006 – All rights reserved

Contents
Foreword vii
Introduction viii
1 Scope 1
1.1 Inclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Exclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Conformity 3
3 Normative references 4
4 Symbols and definitions 4
4.1 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1.1 Sets and intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1.2 Operators and relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1.3 Mathematical functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1.4 Exceptional values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1.5 Datatypes and special values . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1.6 Complex value constructors and complex datatype constructors . . . . . . . 8
4.2 Definitions of terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5 Specifications for imaginary and complex datatypes and operations 14
5.1 Imaginary and complex integer datatypes and operations . . . . . . . . . . . . . . 14
5.1.1 The complex integer result helper function . . . . . . . . . . . . . . . . . . 15
5.1.2 Imaginary and complex integer operations . . . . . . . . . . . . . . . . . . . 15
5.1.2.1 Complex integer comparisons . . . . . . . . . . . . . . . . . . . . . 15
5.1.2.2 Multiplication by the imaginary unit. . . . . . . . . . . . . . . . . 17
5.1.2.3 The real and imaginary parts of a complex value . . . . . . . . . . 17
5.1.2.4 Formation of a complex integer from two real valued integers . . . 18
5.1.2.5 Basic complex integer arithmetic . . . . . . . . . . . . . . . . . . . 18
5.1.2.6 Absolute value and signum of integers and imaginary integers. . . 21
5.1.2.7 Divisibility interrogation . . . . . . . . . . . . . . . . . . . . . . . 21
5.1.2.8 Integerdivisionandremainderextendedtoimaginaryandcomplex
integers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.1.2.9 Maximum and minimum . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 Imaginary and complex floating point datatypes and operations . . . . . . . . . . . 28
5.2.1 Maximum error requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2.2 Sign requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.3 Monotonicity requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2.4 The complex floating point result helper functions . . . . . . . . . . . . . . 30
5.2.5 Basic arithmetic for complex floating point . . . . . . . . . . . . . . . . . . 31
5.2.5.1 Complex floating point comparisons . . . . . . . . . . . . . . . . . 31
5.2.5.2 Multiplication by the imaginary unit. . . . . . . . . . . . . . . . . 33
5.2.5.3 The real and imaginary parts of a complex value . . . . . . . . . . 34
5.2.5.4 Formation of a complex floating point from two floating point values 34
5.2.5.5 Fundamental complex floating point arithmetic . . . . . . . . . . . 34
© ISO/IEC 2006 – All rights reserved iii

5.2.5.6 Absolute value, phase and signum of complex floating point values 38
5.2.5.7 Floor, round, and ceiling . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.5.8 Maximum and minimum . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.6 Complex sign, multiplication, and division . . . . . . . . . . . . . . . . . . . 40
5.2.6.1 Complex signum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.6.2 Complex multiplication . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.6.3 Complex division. . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.7 Operations for conversion from polar to Cartesian . . . . . . . . . . . . . . 43
5.3 Elementary transcendental imaginary and complex floating point operations . . . . 44
5.3.1 Operations for exponentiations and logarithms . . . . . . . . . . . . . . . . 44
5.3.1.1 Exponentiation of imaginary base to integer power . . . . . . . . . 44
5.3.1.2 Natural exponentiation . . . . . . . . . . . . . . . . . . . . . . . . 45
5.3.1.3 Complex exponentiation of argument base . . . . . . . . . . . . . 45
5.3.1.4 Complex square root . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3.1.5 Natural logarithm . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3.2 Operations for radian trigonometric elementary functions . . . . . . . . . . 49
5.3.2.1 Radian angle normalisation . . . . . . . . . . . . . . . . . . . . . . 49
5.3.2.2 Radian sine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3.2.3 Radian cosine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3.2.4 Radian tangent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3.2.5 Radian cotangent . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.3.2.6 Radian secant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3.2.7 Radian cosecant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3.2.8 Radian arc sine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.3.2.9 Radian arc cosine . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3.2.10 Radian arc tangent . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.3.2.11 Radian arc cotangent . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3.2.12 Radian arc secant . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3.2.13 Radian arc cosecant . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3.3 Operations for hyperbolic elementary functions . . . . . . . . . . . . . . . . 60
5.3.3.1 Hyperbolic normalisation . . . . . . . . . . . . . . . . . . . . . . . 61
5.3.3.2 Hyperbolic sine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3.3.3 Hyperbolic cosine . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3.3.4 Hyperbolic tangent . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3.3.5 Hyperbolic cotangent . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.3.6 Hyperbolic secant . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.3.7 Hyperbolic cosecant . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.3.8 Inverse hyperbolic sine . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.3.9 Inverse hyperbolic cosine . . . . . . . . . . . . . . . . . . . . . . . 63
5.3.3.10 Inverse hyperbolic tangent . . . . . . . . . . . . . . . . . . . . . . 63
5.3.3.11 Inverse hyperbolic cotangent . . . . . . . . . . . . . . . . . . . . . 64
5.3.3.12 Inverse hyperbolic secant . . . . . . . . . . . . . . . . . . . . . . . 64
5.3.3.13 Inverse hyperbolic cosecant . . . . . . . . . . . . . . . . . . . . . . 65
5.4 Operations for conversion between imaginary and complex numeric datatypes . . . 65
5.4.1 Integer to complex integer conversions . . . . . . . . . . . . . . . . . . . . . 65
5.4.2 Floating point to complex floating point conversions . . . . . . . . . . . . . 66
5.5 Support for imaginary and complex numerals . . . . . . . . . . . . . . . . . . . . . 67
iv © ISO/IEC 2006 – All rights reserved

6 Notification 68
6.1 Continuation values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7 Relationship with language standards 68
8 Documentation requirements 69
Annex A (normative) Partial conformity 71
A.1 Maximum error relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
A.2 Extra accuracy requirements relaxation . . . . . . . . . . . . . . . . . . . . . . . . 71
A.3 Relationships to other operations relaxation . . . . . . . . . . . . . . . . . . . . . . 72
A.4 Part 1 and part 2 requirements relaxation . . . . . . . . . . . . . . . . . . . . . . . 72
Annex B (informative) Rationale 73
B.1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
B.1.1 Inclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
B.1.2 Exclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
B.2 Conformity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
B.3 Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
B.4 Symbols and definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
B.4.1 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
B.4.1.1 Sets and intervals . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
B.4.1.2 Operators and relations . . . . . . . . . . . . . . . . . . . . . . . . 74
B.4.1.3 Mathematical functions . . . . . . . . . . . . . . . . . . . . . . . . 74
B.4.1.4 Exceptional values . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
B.4.1.5 Datatypes and special values . . . . . . . . . . . . . . . . . . . . . 75
B.4.1.6 Complex value constructors and complex datatype constructors . 75
B.4.2 Definitions of terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
B.5 Specifications for the imaginary and complex datatypes and operations . . . . . . . 76
B.5.1 Imaginary and complex integer datatypes and operations . . . . . . . . . . 76
B.5.2 Imaginary and complex floating point datatypes and operations . . . . . . . 76
B.5.2.1 Maximum error requirements . . . . . . . . . . . . . . . . . . . . . 76
B.5.2.2 Sign requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
B.5.2.3 Maximum error requirements . . . . . . . . . . . . . . . . . . . . . 76
B.5.2.4 Basic arithmetic for complex floating point . . . . . . . . . . . . . 77
B.5.3 Elementary transcendental imaginary and complex floating point operations 78
B.5.3.1 Operations for exponentiations and logarithms . . . . . . . . . . . 78
B.5.3.2 Operations for radian trigonometric elementary functions . . . . . 78
B.5.3.2.1 Radian angle normalisation . . . . . . . . . . . . . . . . . 78
B.5.3.2.2 Radian sine . . . . . . . . . . . . . . . . . . . . . . . . . . 79
B.5.3.2.3 Radian cosine . . . . . . . . . . . . . . . . . . . . . . . . 79
B.5.3.2.4 Radian tangent. . . . . . . . . . . . . . . . . . . . . . . . 79
B.5.3.2.5 Radian cotangent . . . . . . . . . . . . . . . . . . . . . . 80
B.5.3.2.6 Radian secant . . . . . . . . . . . . . . . . . . . . . . . . 80
B.5.3.2.7 Radian cosecant . . . . . . . . . . . . . . . . . . . . . . . 80
B.5.3.2.8 Radian arc sine . . . . . . . . . . . . . . . . . . . . . . . 80
B.5.3.2.9 Radian arc cosine . . . . . . . . . . . . . . . . . . . . . . 81
B.5.3.2.10 Radian arc tangent . . . . . . . . . . . . . . . . . . . . . 81
B.5.3.2.11 Radian arc cotangent . . . . . . . . . . . . . . . . . . . . 81
© ISO/IEC 2006 – All rights reserved v

B.5.3.2.12 Radian arc secant . . . . . . . . . . . . . . . . . . . . . . 81
B.5.3.2.13 Radian arc cosecant . . . . . . . . . . . . . . . . . . . . . 81
B.5.3.3 Operations for hyperbolic elementary functions . . . . . . . . . . . 82
B.5.3.3.1 Hyperbolic normalisation . . . . . . . . . . . . . . . . . . 82
B.5.3.3.2 Hyperbolic sine . . . . . . . . . . . . . . . . . . . . . . . 82
B.5.3.3.3 Hyperbolic cosine . . . . . . . . . . . . . . . . . . . . . . 82
B.5.3.3.4 Hyperbolic tangent . . . . . . . . . . . . . . . . . . . . . 82
B.5.3.3.5 Hyperbolic cotangent . . . . . . . . . . . . . . . . . . . . 83
B.5.3.3.6 Hyperbolic secant . . . . . . . . . . . . . . . . . . . . . . 83
B.5.3.3.7 Hyperbolic cosecant . . . . . . . . . . . . . . . . . . . . . 83
B.5.3.3.8 Inverse hyperbolic sine . . . . . . . . . . . . . . . . . . . 83
B.5.3.3.9 Inverse hyperbolic cosine . . . . . . . . . . . . . . . . . . 83
B.5.3.3.10 Inverse hyperbolic tangent . . . . . . . . . . . . . . . . . 84
B.5.3.3.11 Inverse hyperbolic cotangent . . . . . . . . . . . . . . . . 84
B.5.3.3.12 Inverse hyperbolic secant . . . . . . . . . . . . . . . . . . 84
B.5.3.3.13 Inverse hyperbolic cosecant . . . . . . . . . . . . . . . . . 84
B.5.4 Operations for conversion between imaginary and complex numeric datatypes 84
B.5.5 Support for imaginary and complex numerals . . . . . . . . . . . . . . . . . 84
B.6 Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
B.6.1 Continuation values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
B.7 Relationship with language standards . . . . . . . . . . . . . . . . . . . . . . . . . 84
B.8 Documentation requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Annex C (informative) Example bindings for specific languages 85
C.1 Ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
C.2 C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
C.3 C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
C.4 Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
C.5 Common Lisp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Annex D (informative) Bibliography 133
Annex E (informative) Cross reference 135
Annex F (informative) Possible changes to part 2 147
vi © ISO/IEC 2006 – All rights reserved

Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO shall not be held responsible for identifying any or all such patent rights.
IISO/IEC 10967-3 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 22, Programming languages, their environments and system software interfaces.
ISO/IEC 10967 consists of the following parts, under the general title Information technology — Language
independent arithmetic:
⎯ Part 1: Integer and floating point arithmetic
⎯ Part 2: Elementary numerical functions
⎯ Part 3: Complex integer and floating point arithmetic and complex elementary numerical functions
© ISO/IEC 2006 – All rights reserved vii

Introduction
The aims
Portability is a key issue for scientific and numerical software in today’s heterogeneous com-
puting environment. Such software may be required to run on systems ranging from personal
computers to high performance pipelined vector processors and massively parallel systems, and
the source code may be ported between several programming languages.
Part 1 of ISO/IEC 10967 specifies the basic properties of integer and floating point types that
can be relied upon in writing portable software.
Part 2 of ISO/IEC 10967 specifies a number of additional operations for integer and floating
point types, in particular specifications for numerical approximations to elementary functions on
reals.
The content
The content of this document is based on part 1 and part 2, and extends part 1’s and part 2’s
specificationstoalsocoveroperationsapproximatingimaginary-integerandcomplex-integerarith-
metic, imaginary-real and complex-real arithmetic, as well as imaginary-real and complex-real
elementary functions.
The numerical functions covered by this document are computer approximations to mathe-
matical functions of one or more imaginary or complex arguments. Accuracy versus performance
requirements often vary with the application at hand. This is recognised by recommending that
implementors support more than one library of these numerical functions. Various documenta-
tion and (program available) parameters requirements are specified to assist programmers in the
selection of the library best suited to the application at hand.
The benefits
Adoption and proper use of this document can lead to the following benefits.
For programming language standards it will be possible to define their arithmetic semantics
more precisely without preventing the efficient implementation of the language on a wide range
of machine architectures.
Programmers of numeric software will be able to assess the portability of their programs in
advance. Programmers will be able to trade off program design requirements for portability in
the resulting program. Programs will be able to determine (at run time) the crucial numeric
properties of the implementation. They will be able to reject unsuitable implementations, and
(possibly) to correctly characterize the accuracy of their own results. Programs will be able to
detect (and possibly correct for) exceptions in arithmetic processing.
Procurers of numerical programs will find it easier to determine whether a (properly docu-
mented) application program is likely to execute satisfactorily on the platform used. This can
be done by comparing the documented requirements of the program against the documented
properties of the platform.
Finally, end users of numeric application packages will be able to rely on the correct execution
of those packages. That is, for correctly programmed algorithms, the results are reliable if and
only if there is no notification.
viii © ISO/IEC 2006 – All rights reserved

�c
2006 ISO/IEC
INTERNATIONAL STANDARD ISO/IEC 10967-3:2006(E)
Information technology —
Language independent arithmetic —
Part 3: Complex integer and floating point arithmetic and complex
elementary numerical functions
1 Scope
This part of ISO/IEC 10967 specifies the properties of numerical approximations for complex
arithmetic operations and many of the complex elementary numerical functions available in a
variety of programming languages in common use for mathematical and numerical applications.
An implementor may choose any combination of hardware and software support to meet the
specificationsofthisdocument. Itisthecomputingenvironment,asseenbytheprogrammer/user,
that does or does not conform to the specifications.
The term implementation (of this part) denotes the total computing environment pertinent
to this part, including hardware, language processors, subroutine libraries, exception handling
facilities, other software, and documentation.
1.1 Inclusions
The specifications of part 1 and part 2 are included by reference in this part.
Thisdocumentprovidesspecificationsforpropertiesofcomplexandimaginaryintegerdatatypes
and floating point datatypes, basic operations on values of these datatypes as well as for some nu-
mericalfunctionsforwhichoperandorresultvaluesareofimaginaryorcomplexintegerdatatypes
or imaginary or complex floating point datatypes constructed from integer and floating point
datatypes satisfying the requirements of part 1 (ISO/IEC 10967-1). Boundaries for the occur-
rence of exceptions and the maximum error allowed are prescribed for each specified operation.
Also the result produced by giving a special value operand, such as an infinity, or a NaN (not-a-
number), is prescribed for each specified floating point operation.
This document provides specifications for:
a) Basic imaginary integer and complex integer operations.
b) Non-transcendental imaginary floating point and Cartesian complex floating point opera-
tions.
c) Exponentiation, logarithm, radian trigonometric, and hyperbolic operations for imaginary
floating point and Cartesian complex floating point.
This document also provides specifications for:
d) The results produced by an included floating point operation when one or more operand
values include IEC 60559 special values.
1. Scope 1
c
e) Program-visible parameters that characterise certain aspects of the operations.
1.2 Exclusions
This document provides no specifications for:
a) Datatypes and operations for polar complex floating point. This part neither requires nor
excludes the presence of such polar complex datatypes and operations.
b) Numerical functions whose operands are of more than one datatype, except certain imag-
inary/complex combinations. This part neither requires nor excludes the presence of such
“mixed operand” operations.
c) Acomplexintervaldatatype,ortheoperationsonsuchdatatypes. Thispartneitherrequires
nor excludes such datatypes or operations.
d) A complex fixed point datatype, or the operations on such datatypes. This part neither
requires nor excludes such datatypes or operations.
e) Acomplexrationaldatatype,ortheoperationsonsuchdatatypes. Thispartneitherrequires
nor excludes such datatypes or operations.
f) Matrix,statistical,orsymbolicoperations(onsuitabledatatypes). Thispartneitherrequires
nor excludes such operations or datatypes.
g) Thepropertiesofcomplexarithmeticdatatypesthatarenotrelatedtothenumericalprocess,
such as the representation of values on physical media.
h) The properties of integer and floating point datatypes that properly belong in programming
language standards or other specifications. Examples include:
1) the syntax of numerals and expressions in the programming language,
2) the syntax used for parsed (input) or generated (output) character string forms for
numerals by any specific programming language or library,
3) the precedence of operators in the programming language,
4) the rules for assignment, parameter passing, and returning value,
5) the presence or absence of automatic datatype coercions,
6) the consequences of applying an operation to values of improper datatype, or to unini-
tialised data.
Furthermore, this part does not provide specifications for how the operations should be imple-
mented or which algorithms are to be used for the various operations.
2 Scope
c
� 2006 ISO/IEC – All rights reserved ISO/IEC 10967-3:2006(E)
2 Conformity
It is expected that the provisions of this document will be incorporated by reference and further
defined in other International Standards; specifically in programming language standards and in
binding standards.
Abindingstandardspecifiesthecorrespondencebetweenoneormoreofthearithmeticdatatypes,
parameters, and operations specified in this document and the concrete language syntax of some
programming language. More generally, a binding standard specifies the correspondence between
certain datatypes, parameters, and operations and the elements of some arbitrary computing en-
tity. A language standard that explicitly provides such binding information can serve as a binding
standard.
When a binding standard for a language exists, an implementation shall be said to conform to
this document if and only if it conforms to the binding standard. In case of conflict between a
binding standard and this document, the specifications of the binding standard take precedence.
When a binding standard requires only a subset of the imaginary or complex integer or imag-
inary or complex floating point datatypes specified in this document, an implementation remains
free to conform to this document with respect to other datatypes independently of that binding
standard.
When a binding standard requires only a subset of the operations specified in this document,
an implementation remains free to conform to this document with respect to other operations,
independently of that binding standard.
When no binding standard between a language and some datatypes or operations specified in
this document exists, an implementation conforms to this document if and only if it provides one
or more datatypes and one or more operations that together satisfy all the requirements of clauses
5 through 8 that are relevant to those datatypes and operations. The implementation shall then
document the binding.
Conformity to this document is always with respect to a specified set of datatypes and set of
operations. Conformitytothisdocumentimpliesconformitytopart1andpart2ofISO/IEC10967
for the integer and floating point datatypes and operations used. Under certain circumstances,
conformity to IEC 60559 is implied by conformity to part 1 of ISO/IEC 10967.
An implementation is free to provide arithmetic datatypes and arithmetic operations that do
notconformtothisdocument,orthatarebeyondthescopeofthisdocument. Theimplementation
shall not claim or imply conformity to this document for such datatypes or operations.
An implementation is permitted to have modes of operation that do not conform to this doc-
ument. A conforming implementation shall specify how to select the modes of operation that
ensure conformity.
NOTES
1 Language bindings are essential. Clause 8 requires an implementation to document a bind-
ing if no binding standard exists. See Annex ?? for an example of a conformity statement,
and Annex C for suggested language bindings.
2 A complete binding for this document will include (explicitly or by reference) a binding for
part 2 and part 1 as well, which in turn may include (explicitly or by reference) a binding
for IEC 60559 as well.
2. Conformity 3
c
3 This document does not require a particular set of operations to be provided. It is not
possible to conform to this document without specifying to which datatypes and set of
operations (and modes of operation) conformity is claimed.
3 Normative references
The following referenced documents are indispensable for the application of this document. For
dated references, only the edition cited applies. For undated references, the latest edition of the
referenced document (including any amendments) applies.
IEC 60559:1989, Binary floating-point arithmetic for microprocessor systems.
ISO/IEC 10967-1, Information technology – Language independent arithmetic –
Part 1: Integer and floating point arithmetic.
ISO/IEC 10967-2, Information technology – Language independent arithmetic –
Part 2: Elementary numerical functions.
4 Symbols and definitions
4.1 Symbols
4.1.1 Sets and intervals
In this document, Z denotes the set of mathematical integers, G denotes the set of complex
integers. R denotes the set of classical real numbers, and C denotes the set of complex numbers
over R. Note that Z ⊂R⊂C, and Z ⊂G ⊂C.
The conventional notation for set definition and manipulation is used.
The following notation for intervals is used:
[x,z] designates the interval {y∈R | x6y6z},
]x,z] designates the interval {y∈R | x [x,z[ designates the interval {y∈R | x6y ]x,z[ designates the interval {y∈R | x NOTE – The notation using a round bracket for an open end of an interval is not used, for
the risk of confusion with the notation for pairs.
4.1.2 Operators and relations
All prefix and infix operators have their conventional (exact) mathematical meaning. The con-
ventional notation for set definition and manipulation is also used. In particular:
⇒ and ⇔ for logical implication and equivalence
+, −, /, |x|, conj, bxc, dxe, and round(x) on complex values
· for multiplication on complex values
<,6,>, and > between real values
= and6= between real, complex, as well as special values
4 Symbols and definitions
c
� 2006 ISO/IEC – All rights reserved ISO/IEC 10967-3:2006(E)
∪, ∩, ∈, 6∈, ⊂, ⊆,*,6=, and = with sets
× for the Cartesian product of sets
→ for a mapping between sets
| for the divides relation between complex integer values (in G)
˜ı as the imaginary unit (˜ı =−1)
Re to extract the real part of a complex value (in C)
Im to extract the imaginary part of a complex value (in C)
NOTE 1 – ≈ is used informally, in notes and the rationale.
For x∈C, the notationbxc designates the component-wise largest complex integer where each
part is not greater than the corresponding part of x:
bxc∈G and Re(x)−1 the notation dxe designates the component-wise smallest complex integer where each part is not
less than the corresponding part of x:
dxe∈G and Re(x)6Re(dxe) and the notation round(x) designates the complex integer closest to x:
round(x)∈G and
Re(x)−0.56Re(round(x))6Re(x)+0.5 and Im(x)−0.56Im(round(x))6Im(x)+0.5
where in case Re(x) or Im(x) is exactly half-way between two integers, the even integer is the
result component.
Thedividesrelation(|)oncomplexintegerstestswhetheracomplexintegeridividesacomplex
integer j exactly:
i|j ⇔ (i6= 0 and i·n =j for some n∈G)
NOTE 2 – i|j is true exactly when j/i is defined and j/i∈G).
4.1.3 Mathematical functions
This document specifies properties for a number of operations numerically approximating some
of the elementary functions. The following ideal mathematical functions are defined in chapter 4
of the Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables [11]
(e is the Napierian base):

x y
e , x , x, |x|, ln, log ,
b
sin, cos, tan, cot, sec, csc, arcsin, arccos, arctan, arccot, arcsec, arccsc,
sinh, cosh, tanh, coth, sech, csch, arcsinh, arccosh, arctanh, arccoth, arcsech, arccsch.
Many of the inverses above are multi-valued. The selection of which value to return, the
principal value, so as to make the inverses into functions, is done in the conventional way. E.g.,

x∈[0,∞[ when x∈[0,∞[.
Part 2 defines the mathematical arc function, which is used in this part to define the mathe-
matical complex signum function.
4.1.3 Mathematical functions 5

c
4.1.4 Exceptional values
ISO/IEC 10967 uses the following five exceptional values:
underflow: the result has an absolute value that is smaller than the smallest positive normalised
value, and the result may be inexact. This notification need not be given if the result is
exact. In particular, if the result is zero, or exact and IEC 60559 is conformed to and
trapping is not enabled.
overflow: the result, after rounding, has a magnitude larger than the maximum value repre-
sentable in the result datatype.
infinitary: theoperationresultis(exactly)infinite(initsrealoritsimaginarypart),whileallthe
arguments (their real and imaginary parts) are finite. This is to say that the corresponding
mathematical function has a pole at the finite argument point.
invalid: the operation is undefined, while not infinitary, for the given arguments.
absolute precision underflow: indicate that the argument is such that the density of repre-
sentableargumentvaluesistoosmallintheneighbourhoodofthegivenargumentvaluefora
numericresulttobeconsideredappropriatetoreturn. Usedforoperationsthatapproximate
trigonometric functions (part 2 and part 3), and hyperbolic and exponentiation functions
(part 3).
The exceptional value inexact is not specified in ISO/IEC 10967, but IEC 60559 conform-
ing implementations will provide it. It should then be used also for operations approximating
transcendental functions, when the returned result may be approximate. This part of ISO/IEC
10967 does not specify when it is appropriate to return this exceptional value, but does specify
an appropriate continuation value (see Definition 4.2.4). Thus, v is specified by ISO/IEC 10967
when v or inexact(v) should be returned by implementations that are based on IEC 60559, and
ISO/IEC 10967 specifies underflow(v) when underflow(v) or inexact(underflow(v)) should
be returned by implementations that are based on IEC 60559. Ideally, underflow should imply
inexact.
For the exceptional values, a continuation value may be given in this part in parenthesis after
the exceptional value.
4.1.5 Datatypes and special values
The datatype Boolean consists of the two values true and false.
NOTE 1 – Mathematical relations are true or false (or undefined, if an operand is undefined),
which are not values. In contrast, true and false are values in Boolean.
Square brackets are used to write finite sequences of values. [] is the sequence containing no
values. [s], is the sequence of one value, s. [s ,s ], is the sequence of two values, s and then s ,
1 2 1 2
etc. The colon operator is used to prepend a value to a sequence: x : [x ,.,x ] = [x,x ,.,x ].
1 n 1 n
[S], where S is a set, denotes the set of finite sequences, where each value in a sequence is in S.
NOTE 2 – It is always clear from context, in the text of this part, if [X] is a sequence of one
element, or the set of sequences with values from X. It is also clear from context if [x ,x ] is
1 2
a sequence of two values or an interval.
6 Symbols and definitions
c
� 2006 ISO/IEC – All rights reserved ISO/IEC 10967-3:2006(E)
Integer datatypes and floating point datatypes are defined in part 1. Let I be the non-special
value set for an integer datatype conforming to part 1. Let F be the non-special value set for a
floating point datatype conforming to part 1 and part 2. The following symbols used in this part
are defined in part 1 or part 2:
Exceptional values:
underflow,overflow,infinitary,invalid,andabsolute precision underflow.
Integer helper function:
result .
I
Integer operations:
eq , neq , lss , leq , gtr , geq , neg , add , sub , mul , abs , max , min ,
I I I I I I I I I I I I I
max seq , min seq , divides , quot , mod , ratio , residue , group , and pad .
I I I I I I I I I
Integer conversion operation:
convert .
I→I
Floating point parameters:
r , p , emin , emax , denorm , and iec 559 .
F F F F F F
Derived floating point constants:
fmax , fmin , fminN , fminD , and epsilon .
F F
F F F
Floating point value sets related to F:
∗ 2·π u
F , F , F , G , F , and F (for a given u).
D N F
Floating point helper functions:

up , down , nearest , result , result , no result , and no result2 .
F F F F F F
F
Floating point operations from part 1:
eq , neq , lss , leq , gtr , geq , neg , add , sub , mul , div , abs ,
F F F F F F F F F F F F
max , mmax , min , mmin , max seq , mmax seq , min seq , mmin seq ,
F F F F F F F F
floor , ceiling , and rounding .
F F
F
Floating point operations from part 2:
sqrt , hypot , power , exp , power , ln , logbase ,
F F F,I F F F F
rad , sin , cos , tan , cot , sec , csc ,
F F F F F F F
arcsin , arccos , arctan , arccot , arcsec , arccsc , arc , arcu ,
F F F F F F F F
sinu , cosu , sinh , cosh , tanh , coth , sech , csch ,
F F F F F F F F
arcsinh , arccosh , arctanh , arccoth , arcsech , and arccsch .
F F F F F F
Angular parameters and maximum error parameters from part 2:
big angle r , big angle u , max error tan , and max error tanu .
F F F F
Floating point conversion operations:
convert 0, convert , and convert .
F→F F→D D→F
Approximation helper functions from part 2:
∗ ∗ ∗ ∗
exp , power , ln , logbase ,
F F F F
∗ ∗ ∗ ∗ ∗ ∗
sin , cos , tan , cot , sec , csc ,
F F F F F F
∗ ∗ ∗ ∗ ∗ ∗
arcsin , arccos , arctan , arccot , arcsec , arccsc ,
F F F F F F
∗ ∗ ∗ ∗ ∗ ∗
sinh , cosh , tanh , coth , sech , csch ,
F F F F F F
∗ ∗ ∗ ∗ ∗ ∗
arcsinh , arccosh , arctanh , arccoth , arcsech , and arccsch .
F F F F F F
Floating point datatypes that conform to part 1 shall, for use with this part, like for part 2,
have a value for the parameter p such that p > 2·max{1,log (2·π)}, and have a value for
F F
r
F
the parameter emin such that emin 6−p −1.
F F F
NOTES
3 This implies that fminN < 0.5· epsilon /r in this part, rather than just fminN 6
F F F F
epsilon .
F
4.1.5 Datatypes and special values 7

c
4 Theseextrarequirements,whichdonotlimittheuseofanyexistingfloatingpointdatatype,
are made so that angles in radians are not too degenerate within the first two cycles, plus
and minus, when represented in F.
5 F should also be such that p > 2 + log (1000), to allow for a not too coarse angle
F
r
F
resolution anywhere in the interval [−big angle r ,big angle r ] with the default value for
F F
big angle r . See Clause 5.3.9 of part 2.
F
The following symbols represent special values defined in IEC 60559 and are used in this part:
−−−0, +++∞∞∞,−∞−∞−∞, qNaN, and sNaN.
These floating point values are not part of the set F, but if iec 559 has the value true, these
F
values are included in the floating point datatype corresponding to F.
NOTE 6 – This part uses the above five special values for compatibility with IEC 60559. In
particular, the symbol −−−0 (in bold) is not the application of (mathematical) unary − to the
value 0, and is a value logically distinct from 0.
The specifications cover the results to be returned by an operation if given one or more of the
IEC 60559 special values−−−0,+++∞∞∞,−∞−∞−∞, or NaNs as input values. These specifications apply only
to systems which provide and support these special values. If an implementation is not capable of
representing a−−−0 result or continuation value, 0 shall be used as the actual result or continuation
value. If an implementation is not capable of representing a prescribed result or continuation
value of the IEC 60559 special values+++∞∞∞,−∞−∞−∞, orqNaN, the actual result or continuation value
is binding or implementation defined.
If and only if an implementation is not capable of representing−−−0:
a) a 0 as the imaginary part of a complex argument (in c(F), see Clause 4.1.6) shall be inter-

preted as if it was−−0 if and only if the real part of that complex argument is greater than
or equal to zero, and
b) a 0 as the real part of a complex argument (in c(F), see Clause 4.1.6) shall be interpreted
as if it was−−−0 if and only if the imaginary part of the complex argument is less than zero.
NOTES

7 Reinterpreting 0 as −−0 as required above is needed to follow the sign rules for inverse
trigonometric and inverse hyperbolic operations, as well as the exact relations between
trigonometric and hyperbolic operations also for argument parts (real and imaginary) that
have a zero as value.
8 The rule above is sometimes referred to as continuous when approaching an axis in a
counterclockwise path. This fits both with Common Lisp and C requirements when ze-
roes don’t have a distinguishable sign.
9 Forconsistency,thisrulealsohasimplicationsfortheoperationsthatimplicitlyorexplicitly
extract an implicit real or implicit imaginary part (see for example the specifications for
the re and im operations in Clause 5.2.5).
i(F) F
4.1.6 Complex value constructors and complex datatype constructors
Let X be a set containing values in R, and possibly also containing special values (such as
IEC 60559 special values).
i(X) is a subset of values in animaginary datatype, constructed from the datatype correspond-
ing to X. ˆı· is a prefix constructor that takes one parameter.
i(X) ={ˆı·y | y∈X}
8 Symbols and definitions
c
� 2006 ISO/IEC – All rights reserved ISO/IEC 10967-3:2006(E)
c(X) is a subset of values in a complex datatype, constructed from the datatype corresponding
to X. +++ˆı· is an infix constructor that takes two parameters.
c(X) ={x+++ˆı·y | x,y∈X}
NOTES
1 Whileˆı· and +++ˆı· (note that they are written in bold) have an appearance of being the
imaginary unit together with the plus and times operators, that is not the case. For
instance,ˆı·2 is an element of i(X) (if 2∈X), but not ofG orC. ˜ı·2, on the other hand, is
an expression that denotes an element ofG (andC), but neither of i(X) nor c(X). Further,
e.g., 4+˜ı·0 =4, but 4+++ˆı·06= 4.
2 A constructor that takes one argument is a one-tuple tag. A constructor that takes two
arguments is a two-tuple (pair) tag. The arguments are part of the resulting value.
3 The tuple tags need not be explicitly represented in implementations. But if represented,
thereshouldbedifferenttagsfordifferentargumenttypes(whichisnotneededinthistext).
Some of the helper function signatures use C , where
F
C ={x+˜ı·y | x,y∈F}
F
where F ⊂R.
4.2 Definitions of terms
For the purposes of this document, the following terms and definitions apply.
4.2.1
accuracy
The closeness between the true mathematical result and a computed result.
4.2.2
arithmetic datatype
A datatype whose non-special values are members of Z, i(Z), c(Z), R, i(R), or c(R).
NOTE 1 – i(Z) corresponds to imaginary integer values in G. c(Z) corresponds to complex
integer values in G. i(R) corresponds to imaginary values in C. c(R) corresponds to complex
values in C.
4.2.3
binding
Documentationthatspecifieswhichsyntax(mostoften,operationsorfunctions)ofaprogramming
language, or programming library, that is used for an operation specified in this part.
4.2.4
continuation value
A computational value used as the result of an arithmetic operation when an exception occurs.
Continuation values are intended to be used in subsequent arithmetic processing. A continuation
value can be a (in the datatype representable) value in Z, i(Z), c(Z), R, i(R), c(R), or a value
− −∞
where one or both parts of the value is an IEC 60559 special value (e.g. −−0, ˆı· (−∞−∞)), or
+++∞∞∞+++ˆı·qNaN). (Contrast with exceptional value. See Clause 6.1.2 of part 1.)
4.2 Definitions of terms 9
c
4.2.5
denormalisation loss
A larger than normal rounding error caused by the fact that subnormal values have less than full
precision. (See Clause 5.2.5 of part 1 for a full definition.)
4.2.6
error
hin computed valuei The difference between a computed value and the mathematically correct
value. Used in phrases like “rounding error” or “error bound”.
4.2.7
error
hcomputation gone awryi A synonym for exception in phrases like “error message” or “error
output”. Error and exception are not synonyms in any oth
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...