ISO/IEC 10967、言語非依存算術(LIA)は、コンピュータ算術に関する一連の規格です。IEEE 754(IEC 60559としても発行)と互換性があり、仕様の多くはIEEE 754の特殊値に関するものです(ただし、パラメータiec 559が真でない限り、LIA自体ではそのような値は要求されません)。これは、2011年に解散した作業グループISO/IEC JTC1/SC22 /WG11によって開発されました。 [ 1 ]
LIAは3つの部分から構成されています。
パート1では、基本的な整数型と浮動小数点型(2進数や10進数を含む複数の基数に対応)を扱いますが、IEEE 754-2008とは異なり、値の表現については扱いません。また、パート1では、これらのデータ型の値に対する基本的な算術演算(比較演算を含む)も扱います。パラメータiec 559は、LIA-1のほとんどの実装において真であると想定されます 。
第1部は、第2部および第3部の仕様により合致するように改訂され、第2版となった。
第2部では、整数型および浮動小数点型のデータ型に対するいくつかの追加的な「基本」演算を扱いますが、主に基本関数の数値バージョンに関する要件の規定に焦点を当てています。LIA-2の仕様の多くは、Adaの基本関数に関する仕様に影響を受けています。
パート3では、パート1とパート2を一般化し、虚数型および複素数型のデータ型、ならびにそれらの値に対する算術関数および基本関数を扱います。LIA-3の仕様の多くは、 C、Ada、および Common Lispにおける虚数型および複素数型のデータ型と演算に関する仕様から着想を得ています 。
各パートでは、複数のプログラミング言語に対する推奨バインディングが提示されています。これらはLIA規格の一部ではなく、あくまで提案であり、完全なものではありません。プログラミング言語規格の作成者は、これらの提案を標準規格に組み込む前に変更したいと考えるかもしれません。
C言語のC99 、C11、C17規格、そして2013年にはC++とModula-2の規格も、 LIA-1に部分的に対応している。