fpe-all

 

プログラム中の各ルーチンのランタイム時の浮動小数点例外処理の制御を許可します。

IDE オプション

なし

アーキテクチャー

IA-32、インテル® 64、IA-64 アーキテクチャー

構文

Linux および Mac OS X:

-fpe-all=n

Windows:

/fpe-all:n

引数

n

浮動小数点例外処理レベルを指定します。設定可能な値は以下のとおりです。

0

無効な浮動小数点例外、ゼロ除算例外、オーバーフロー例外が有効になります。そのような例外が発生した場合、実行は終了します。このオプションは、-ftz (Linux および Mac OS X) または /Qftz (Windows) を設定します。そのため、明示的に -no-ftz (Linux および Mac OS X)、/Qftz- (Windows) を指定しない限り、アンダーフロー結果がゼロに設定されます。

IA-64 アーキテクチャー・ベースのシステムでは、アンダーフロー動作は -ftz または /Qftz を指定した場合に相当します。

IA-32 またはインテル® 64 アーキテクチャー・ベースのシステムでは、SSE 命令、x87 命令からのアンダーフロー結果は、ゼロに設定されます。対照的に、-ftz または /Qftz は SSE のアンダーフロー結果のみをゼロに設定します。

エラーの発生場所についての詳細な情報を得るには、traceback オプションを使用します。

1

すべての浮動小数点例外が無効になります。IA-64 アーキテクチャー・ベースのシステムでは、アンダーフロー動作は -ftz または /Qftz を指定した場合に相当します。IA-32 またはインテル® 64 アーキテクチャー・ベースのシステムでは、SSE 命令、x87 命令からのアンダーフロー結果は、ゼロに設定されます。

3

すべての浮動小数点例外が無効になります。IA-32 およびインテル® 64 アーキテクチャー・ベースのシステムでは、-ftz/QftzO3O2 など、FTZ (Flush-to-Zero) を有効にするコンパイラー・オプションを明示的に指定しない限り、浮動小数点アンダーフローは漸次アンダーフロー (gradual underflow) です。この設定は、完全な IEEE サポートを提供します。

デフォルト

-fpe-all=3/fpe-all:3、またはメインプログラムをコンパイルした fpe の設定

すべての浮動小数点例外が無効になります。FTZ (Flush-to-Zero) を有効にするコンパイラー・オプションを明示的に指定しない限り、浮動小数点アンダーフローは漸次アンダーフロー (gradual underflow) です。

説明

プログラム中の各ルーチンのランタイム時の浮動小数点例外処理の制御を許可します。これには、例外浮動小数点値が許容されるかどうかや、ランタイム時に例外がどの程度正確に報告されるかなどが含まれます。

fpe-all オプションは、次の条件における処理方法に影響を与えます。

浮動小数点例外フラグとステータスフラグの現在の設定は、各ルーチンの入口で保存され、出口で復元されます。これにより、パフォーマンスのオーバーヘッドが発生します。

メインプログラムに fpe-all オプションを適用すると、fpe を適用した場合と同じ効果があります。

有効にされた例外が発生すると、実行は終了し、ユーザーにその原因を報告するメッセージが表示されます。コンパイル時に、traceback コンパイラー・オプションが指定された場合、終了地点についての詳細もレポートされます。

このオプションは、アンダーフロー例外、入力デノーマル例外、または不正確例外を有効にしません。

fpe-all オプションは、assume ieee_fpe_flags オプションを設定します。

代替オプション

なし

関連情報