ISO/IEC 10967
   HOME

TheInfoList



OR:

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 a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
, and much of the specifications 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. 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 (), a positive natural number (, , , etc.) or a negative integer with a minus sign ( −1, −2, −3, etc.). The negative numbers are the additive inverses of the corresponding positive numbers. In the languag ...
and
floating point In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can ...
datatypes (for multiple radices, including 2 and 10), but unlike
IEEE 754-2008 The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operation ...
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 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 Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, T ...
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 In computer science and computer programming, a data type (or simply type) is a set of possible values and a set of allowed operations on it. A data type tells the compiler or interpreter how the programmer intends to use the data. Most progra ...
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 Ada may refer to: Places Africa * Ada Foah, a town in Ghana * Ada (Ghana parliament constituency) * Ada, Osun, a town in Nigeria Asia * Ada, Urmia, a village in West Azerbaijan Province, Iran * Ada, Karaman, a village in Karaman Province, T ...
and
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fr ...
.


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 C11, C.XI, C-11 or C.11 may refer to: Transport * C-11 Fleetster, a 1920s American light transport aircraft for use of the United States Assistant Secretary of War * Fokker C.XI, a 1935 Dutch reconnaissance seaplane * LET C-11, a license-build var ...
and C17 standards for C, and in 2013, the standards for
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
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 ...
, 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 established in 1985 by the Institute of Electrical and Electronics Engineers (IEEE). The standard addressed many problems found ...
, 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