ISO/IEC 10967, Language independent arithmetic (LIA), is a series ofstandards on computer arithmetic. It is compatible with ISO/IEC/IEEE 60559:2011,more known as IEEE 754-2008, and much of thespecifications are for IEEE 754 special values(though such values are not required by LIA itself, unless the parameter iec559 is true).It was developed by the working group ISO/IEC JTC1/SC22/WG11, which was disbanded in 2011.[1]
LIA consists of three parts:
Part 1 deals with the basic integer and floating point datatypes (for multiple radices, including 2 and 10),but unlike IEEE 754-2008 not the representation of the values. Part 1 alsodeals with basic arithmetic, including comparisons, on values of suchdatatypes. The parameter iec559 is expected to betrue for most implementations of LIA-1.
Part 1 was revised, to the second edition, to become more in line with the specificationsin parts 2 and 3.
Part 2 deals with some additional "basic" operations on integer and floating pointdatatype values, but focuses primarily on specifying requirements on numericalversions of elementary functions. Much of the specifications in LIA-2 are inspiredby the specifications in Ada for elementary functions.
Part 3 generalizes parts 1 and 2 to deal with imaginary and complexdatatypes and arithmetic and elementary functions on such values.Much of the specifications in LIA-3 are inspired by the specificationsfor imaginary and complex datatypes and operations inC, Ada andCommon Lisp.
Each of the parts provide suggested bindings for a number ofprogramming languages. These are not part of the LIA standards,just suggestions, and are not complete. Authors of a programminglanguage standard may wish to alter the suggestions before anyincorporation in the programming language standard.
The C99, C11 and C17 standards for C, and in 2013, the standards for C++ and Modula-2, have partial bindings to LIA-1.