This articlemay rely excessively on sourcestoo closely associated with the subject, potentially preventing the article from beingverifiable andneutral. Please helpimprove it by replacing them with more appropriatecitations toreliable, independent sources.(March 2018) (Learn how and when to remove this message) |
ISO/IEC 10967,Language independent arithmetic (LIA), is a series ofstandards on computer arithmetic. It is compatible withIEEE 754 (also published as IEC 60559), and much of the specifications are for IEEE 754 special values (though such values are not required by LIA itself, unless the parameteriec559 istrue).It was developed by the working groupISO/IEC JTC1/SC22/WG11, which was disbanded in 2011.[1]
LIA consists of three parts:
Part 1 deals with the basicinteger andfloating point datatypes (for multiple radices, including 2 and 10),but unlikeIEEE 754-2008 not the representation of the values. Part 1 alsodeals with basic arithmetic, including comparisons, on values of suchdatatypes. The parameteriec559 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 ofelementary functions. Much of the specifications in LIA-2 are inspiredby the specifications inAda for elementary functions.
Part 3 generalizes parts 1 and 2 to deal withimaginary andcomplexdatatypes 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.
TheC99,C11 andC17 standards forC, and in 2013, the standards forC++ andModula-2, have partial bindings to LIA-1.[clarification needed]