ISO/IEC 10967、言語非依存算術(LIA)は、コンピュータ算術に関する一連の標準規格です。ISO/IEC/IEEE 60559:2011(IEEE 754-2008としてよく知られています)と互換性があり、仕様の多くはIEEE 754の特殊値に関するものです(ただし、パラメータiec 559がtrueでない限り、LIA自体ではそのような値は要求されていません)。これは、2011年に解散したワーキンググループISO/IEC JTC1/SC22 /WG11によって開発されました。 [1]
LIA は 3 つの部分で構成されます。
- パート 1:整数および浮動小数点演算、第 2 版は 2012 年に発行されました。
- 第 2 部:初等数値関数、第 1 版は 2001 年に出版されました。
- パート 3:複素整数および浮動小数点演算と複素基本数値関数、第 1 版は 2006 年に発行されました。
部品
パート1
パート 1 では、基本的な整数および浮動小数点データ型 (2 や 10 などの複数の基数)を扱っていますが、 IEEE 754-2008とは異なり、値の表現は扱っていません。パート 1 では、このようなデータ型の値に対する比較などの基本的な算術も扱っています。パラメータiec 559 は、LIA-1 のほとんどの実装で 真であると予想されます 。
パート 1 は、パート 2 および 3 の仕様にさらに沿うように第 2 版に改訂されました。
パート2
パート 2 では、整数および浮動小数点データ型の値に対する追加の「基本的な」操作をいくつか取り上げますが、主に基本関数の数値バージョンに関する要件の指定に焦点を当てています。LIA -2 の仕様の多くは、Adaの基本関数の仕様にヒントを得ています。
パート3
パート 3 では、パート 1 と 2 を一般化して、虚数および複素数 データ型と、そのような値に対する算術関数および基本関数を扱います。LIA-3 の仕様の多くは、 C、Ada、 Common Lispの虚数および複素数データ型と演算の仕様からヒントを得ています 。
バインディング
各パートでは、多数のプログラミング言語のバインディングの提案が提供されています。これらは LIA 標準の一部ではなく、単なる提案であり、完全ではありません。プログラミング言語標準の作成者は、プログラミング言語標準に組み込む前に、提案を変更することができます。
Cの C99、C11 、 C17標準、および 2013 年にはC++とModula-2の標準には、LIA-1 への部分的なバインディングがあります。[説明が必要]
参照
- IEEE 754、浮動小数点演算の標準
- ISO/IEC 11404、汎用データ型
参考文献
- ^ 「JTC1/SC22/WG11 – バインディングテクニック」。ホームページ。ISO/IEC 。 2017年6月7日閲覧。
外部リンク
- ISO/IEC 10967-1:2012、パート 1: 整数および浮動小数点演算の完全なテキスト。
- ISO/IEC 10967-2:2001、パート2「基本的な数値関数」の完全なテキスト。
- ISO/IEC 10967-3:2006、パート 3: 複素整数および浮動小数点演算と複素基本数値関数の完全なテキスト。
