浮動小数点コントロール・ワード (ia32 のみ)

ia32 システムでは,FPU コントロール・ワードには,FPU の精度,丸めモード,および例外が発生したときにシグナルが生成されるかどうかを制御するビットが含まれています。コントロール・ワード値を GETCONTROLFPQQ (ia32 のみ) で読み取って,現在の制御設定を調べることができます。また,SETCONTROLFPQQ (ia32 のみ) でコントロール・ワードを変更することができます。

浮動小数点コントロール・ワードの個々のビットは,浮動小数点数値演算プロセッサーの 1 つのモードに対応しています。...\DF98\INCLUDE フォルダの DFLIB.F90 モジュール・ファイルは,次表に示すように,コントロール・ワードに対して定義された INTEGER(2) パラメタを含んでいます。

パラメタ名 16 進値 説明
FPCW$MCW_IC #1000 無限大の制御マスク
FPCW$AFFINE #1000 アフィン無限大
FPCW$PROJECTIVE #0000 射影的無限大
FPCW$MCW_PC #0300 精度制御マスク
FPCW$64 #0300 64 ビット精度
FPCW$53 #0200 53 ビット精度
FPCW$24 #0000 24 ビット精度
FPCW$MCW_RC #0C00 丸めの制御マスク
FPCW$CHOP #0C00 切り捨て
FPCW$UP #0800 大きい方へ丸める
FPCW$DOWN #0400 小さい方へ丸める
FPCW$NEAR #0000 最も近い値に丸める
FPCW$MCW_EM #003F 例外マスク
FPCW$INVALID #0001 無効な数値を許容する
FPCW$DENORMAL #0002 規格化されていない数 (きわめて小さい数値) を許容する
FPCW$ZERODIVIDE #0004 ゼロによる除算を許容する
FPCW$OVERFLOW #0008 オーバーフローを許容する
FPCW$UNDERFLOW #0010 アンダーフローを許容する
FPCW$INEXACT #0020 不正確な精度を許容する

コントロール・ワードの基本設定を次に示します。

関連情報