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

印刷ビューの終了

更新: 2015 年 1 月
 
 

4.1 例外処理の目的

SPARC ベースのシステムおよび x86 ベースのシステム上の Oracle Solaris Studio コンパイラおよび Oracle Solaris OS で提供される浮動小数点環境では、IEEE 標準で必要とされるすべての例外処理機能、および推奨されている多数のオプションの機能がサポートされています。IEEE 754 標準 (IEEE 854、ページ 18) では、これらの機能の目的の 1 つを次のように説明しています。

... ユーザーのために、例外条件の発生に伴う複雑な処理を最小限に抑えることです。算術システムは、できるだけ長時間に渡って計算を続行することを目的としており、異常な事態が発生しても、適切なフラグの設定を含む合理的なデフォルトの応答によって対処します。

この目的を達成するために、標準規格では例外演算に対するデフォルトの結果が指定されており、ユーザーが検出、設定、またはクリアできる、例外が発生したことを示すステータスフラグを実装で提供することを要求しています。例外が発生したときに、プログラムがトラップする (つまり、通常の制御フローを中断する) 方法を実装が提供することも推奨しています。例外演算に代替の結果を渡して実行を再開するなど、適切な方法で例外を処理するトラップハンドラをプログラムで用意することもできます。以降のセクションでは、浮動小数点環境の機能がこれらの例外をサポートする方法について詳細を説明します。