ISO/IEC 10967

From Wikipedia, the free encyclopedia

ISO/IEC 10967, Language independent arithmetic (LIA), is a series of standards on computer arithmetic. It is compatible with IEC 60559 (more known as IEEE 754 or IEC 559), and indeed much of the specifications in parts 2 and 3 are for IEEE 754 special values (though such values are not required).

LIA currently consists of three parts:

  • Part 1: Integer and floating point arithmetic, first edition published 1994.
  • Part 2: Elementary numerical functions, first edition published 2001.
  • Part 3: Complex integer and floating point arithmetic and complex elementary numerical functions, first edition is now (2005) in FDIS stage.

Contents

[edit] Parts

[edit] Part 1

Part 1 deals with the basic integer and floating point datatypes, but unlike IEEE 754 not the representation of the values. Part 1 also deals with basic arithmetic, including comparisons, on values of such datatypes. The parameter iec559 is expected to be true for most implementations of LIA-1.

Part 1 may be revised to become more in line with the specifications in parts 2 and 3.

[edit] Part 2

Part 2 deals with some additional "basic" operations on integer and floating point datatype values, but focuses primarily on specfying requirements on numerical versions of elementary functions. Much of the specifications in LIA-2 are inspired by the specifications in Ada for elementary functions.

[edit] Part 3

Part 3 generalises parts 1 and 2 to deal with imaginary and complex datatypes and arithmetic and elementary functions on such values. Much of the specifications in LIA-3 are inspired by the specifications for imaginary and complex datatypes and operations in C, Ada and Common Lisp.

[edit] Bindings

Each of the parts provide suggested bindings for a number of programming languages. These are not part of the LIA standards, just suggestions, and are not complete. Authors of a programming language standard may wish to alter the suggestions before any incorporation in the programming language standard.

Currently (2005) the standards for C, C++, and Modula-2 have partial bindings to LIA-1.

[edit] External links

Languages