Overview
ISO/IEC 10967-2:2001 - "Information technology - Language independent arithmetic - Part 2: Elementary numerical functions" defines the expected properties and behavior of elementary numerical functions provided by standard libraries across programming languages. The standard describes how an implementation (the complete computing environment: hardware, language processors, libraries, exception handling and documentation) should present integer and floating‑point arithmetic, transcendental functions, and datatype conversions so programmers get predictable, portable numeric results.
Key Topics and Requirements
- Scope and conformity: Specifies which mathematical operations and behaviors are included/excluded and what it means for a computing environment to conform.
- Integer and floating‑point operations: Formalizes basic integer ops, floating‑point max/min, rounding helpers, floor/ceil/round, remainder, square root and higher‑precision multiplication.
- Elementary transcendental functions: Requirements for exponentials, logarithms, trigonometric and hyperbolic functions (including radian and arbitrary angular units), hypotenuse, and related helpers.
- Accuracy and stability: Includes maximum error requirements, monotonicity and sign expectations for numerical approximations - guiding implementors on acceptable approximation quality.
- Conversions and numerals: Rules for conversion between integer, floating point and fixed point; handling of numerals in source languages.
- Notification and documentation: Guidance on exception/continuation values and required documentation for conformant implementations.
- Language bindings and examples: Informative annexes provide example bindings for many languages (Ada, C, C++, Fortran, Java, Haskell, Lisp, Pascal, etc.), helping map the abstract requirements to concrete APIs.
Applications and Who Uses It
- Implementors of math libraries and standard libraries for compilers and runtimes who need consistent definitions for elementary numerical functions.
- Compiler and language designers who must specify numeric behavior and conversions for language standards.
- Developers of scientific, engineering and financial software who require portable, predictable numeric results across platforms.
- Teams building embedded systems and high‑assurance systems where documented numeric behavior and error bounds are critical.
- Test and validation engineers creating conformance test suites for numeric operations.
Related Standards
- Part 1 (general language independent arithmetic concepts) and other ISO/IEC JTC 1 standards on numerical behavior - see the standard’s references and annexes for relationships with language standards and proposed Part 1 changes.
ISO/IEC 10967-2:2001 is a practical reference for anyone needing a language‑agnostic specification of elementary numeric functions, accuracy expectations, and cross‑platform conformance for numerical computing.