Oracle® Solaris Studio 12.4: 数値計算ガイド

印刷ビューの終了

更新: 2015 年 1 月
 
 

2.4 IEEE 標準 754-2008

このセクションでは、754-1985 とその後継である 754-2008 との相違点について説明します。Oracle は、ほかのシステム実装者と同様に、754-2008 の推奨事項に徐々に準拠していく予定です。それは、これらの推奨事項がプログラミング言語の標準の中で定義されているためです。

2008 年、IEEE は、IEEE Standard for Floating-Point Arithmetic の改訂版を採用しました。これは、以前の 754-1985 IEEE Standard for Binary Floating-Point Arithmetic および 854-1987 IEEE Standard for Radix-Independent Floating-Point Arithmetic より優先されるものです。

ハードウェアの観点からは、新しい標準規格は古い標準規格と上位互換性があります。ソフトウェアによる拡張が十分であれば、既存のハードウェアに新しい標準規格との互換性を持たせることができます。ただし、新しい標準のすべての推奨事項を完全に実装するには、言語定義の大量の開発が必要になります。これは、数年の期間にわたって実行されており、そのあと、これらの定義の商用の実装が予定されています。改訂された標準で推奨されている新機能が Oracle Solaris Studio C、C++、および Fortran コンパイラで使用可能になったら、Oracle Solaris Studio 用のこの数値計算ガイドの将来のバージョンでそれらの機能について説明します。

Oracle Solaris Studio 12.4 にすでに存在する重要な変更のいくつかを次に示します。

  • 754-2008 では、128 ビットの 2 進 (および 10 進) 浮動小数点形式が指定されています。128 ビットの 2 進形式は Studio Fortran REAL*16 および SPARC の Studio C および C++ long double に対応します。

  • 754-2008 では、正しい丸めには 2 進および 10 進形式とキャラクタシーケンスとの変換が必要ですが、754-1985 では、指数が非常に大きい、あるいは非常に小さい数値に対するエラーバウンドはそれよりわずかに大きい、あるいは小さいものでした。

  • 754-2008 では、2 進形式と 16 進キャラクタシーケンスとの変換操作を推奨しています。

  • 754-2008 では、754-1985 ではオプションであったいくつかの演算が必要です。これらは、Oracle Solaris Studio コンパイラにはすでに存在します。

  • 54-2008 では、積和演算 (FMA) が規定されています。これらは、Oracle Solaris Studio 13 によってサポートされる最新の SPARC サーバー内のハードウェアで使用できます。

Oracle Solaris Studio 12.4 には存在しない重要な変更のいくつかを次に示します。

  • 754-2008 では、多数の新しい演算が推奨されています。

  • 754-2008 では、多数の初等超越関数で、丸めが正しいバージョンを使用可能にすることが推奨されています。

  • 754-2008 では、式の評価属性が推奨されています。

  • 754-2008 では、浮動小数点トラップ処理は指定されなくなりました。代わりに、マシンに依存しない方法で使用できる、高レベルの代替の例外処理属性が推奨されています。