ISO/IEC 10967, Language independent arithmetic (LIA), is a series of
standards on computer arithmetic. It is compatible with ISO/IEC/IEEE 60559:2011,
more known as
IEEE 754-2008
The Institute of Electrical and Electronics Engineers (IEEE) is an American 501(c)(3) public charity professional organization for electrical engineering, electronics engineering, and other related disciplines.
The IEEE has a corporate office ...
, and much of the
specifications are for IEEE 754 special values
(though such values are not required by LIA itself, unless the parameter ''iec
559'' is true).
It was developed by the working group
ISO/IEC JTC1/SC22/WG11, which was disbanded in 2011.
LIA consists of three parts:
* Part 1: ''Integer and floating point arithmetic'', second edition published 2012.
* Part 2: ''Elementary numerical functions'', first edition published 2001.
* Part 3: ''Complex integer and floating point arithmetic and complex elementary numerical functions'', first edition published 2006.
Parts
Part 1
Part 1 deals with the basic
integer
An integer is the number zero (0), a positive natural number (1, 2, 3, ...), or the negation of a positive natural number (−1, −2, −3, ...). The negations or additive inverses of the positive natural numbers are referred to as negative in ...
and
floating point
In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a signed sequence of a fixed number of digits in some base) multiplied by an integer power of that base.
Numbers of this form ...
datatypes (for multiple radices, including 2 and 10),
but unlike
IEEE 754-2008
The Institute of Electrical and Electronics Engineers (IEEE) is an American 501(c)(3) public charity professional organization for electrical engineering, electronics engineering, and other related disciplines.
The IEEE has a corporate office ...
not the representation of the values. Part 1 also
deals with basic arithmetic, including comparisons, on values of such
datatypes. The parameter ''iec
559'' is expected to be
true for most implementations of LIA-1.
Part 1 was revised, to the second edition, to become more in line with the specifications
in parts 2 and 3.
Part 2
Part 2 deals with some additional "basic" operations on integer and floating point
datatype values, but focuses primarily on specifying requirements on numerical
versions of
elementary functions. Much of the specifications in LIA-2 are inspired
by the specifications in
Ada for elementary functions.
Part 3
Part 3 generalizes parts 1 and 2 to deal with
imaginary and
complex
Complex commonly refers to:
* Complexity, the behaviour of a system whose components interact in multiple ways so possible interactions are difficult to describe
** Complex system, a system composed of many components which may interact with each ...
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
Common Lisp (CL) is a dialect of the Lisp programming language, published in American National Standards Institute (ANSI) standard document ''ANSI INCITS 226-1994 (S2018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperli ...
.
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.
The
C99,
C11 and
C17 standards for
C, and in 2013, the standards for
C++ and
Modula-2
Modula-2 is a structured, procedural programming language developed between 1977 and 1985/8 by Niklaus Wirth at ETH Zurich. It was created as the language for the operating system and application software of the Lilith personal workstation. It w ...
, have partial bindings to LIA-1.
See also
*
IEEE 754
The IEEE Standard for Floating-Point Arithmetic (IEEE 754) is a technical standard for floating-point arithmetic originally established in 1985 by the Institute of Electrical and Electronics Engineers (IEEE). The standard #Design rationale, add ...
, Standard for Floating-Point Arithmetic
*
ISO/IEC 11404, General purpose datatypes
References
External links
ISO/IEC 10967-1:2012 complete text of ''Part 1: Integer and floating point arithmetic''.
ISO/IEC 10967-2:2001 complete text of ''Part 2: Elementary numerical functions''.
ISO/IEC 10967-3:2006 complete text of ''Part 3: Complex integer and floating point arithmetic and complex elementary numerical functions''.
{{DEFAULTSORT:ISO IEC 10967
Computer arithmetic
#10967