メインプログラムのランタイム時の浮動小数点例外処理の制御を許可します。
アーキテクチャーの制限
インテル® MIC アーキテクチャー向けインテル® 64 アーキテクチャーでは利用できません。
引数
n |
浮動小数点例外処理レベルを指定します。設定可能な値は以下のとおりです。
0 |
無効な浮動小数点例外、ゼロ除算例外、オーバーフロー例外が有効になります。そのような例外が発生した場合、実行はアボートします。このオプションは、正規化されていない浮動小数点結果を 0 に設定します。-no-ftz または -fp-model precise (Linux* および OS X*)、/Qftz- または /fp:precise (Windows*) を明示的に指定してこれを上書きしない限り、アンダーフロー結果も 0 に設定されます。
インテル® SSE 命令および x87 命令からのアンダーフロー結果は、ゼロに設定されます。対照的に、[Q]ftz オプションは SSE のアンダーフロー結果のみをゼロに設定します。
エラーの発生場所についての詳細な情報を得るには、traceback オプションを使用します。
|
1 |
すべての浮動小数点例外が無効になります。
インテル® SSE 命令および x87 命令からのアンダーフロー結果は、ゼロに設定されます。
|
3 |
すべての浮動小数点例外が無効になります。[Q]ftz、O3、O2 など、FTZ (Flush-to-Zero) を有効にするコンパイラー・オプションを明示的に指定しない限り、浮動小数点アンダーフローは漸次アンダーフロー (gradual underflow) です。この設定は、完全な IEEE サポートを提供します。
|
|
デフォルト
-fpe3 または /fpe:3 |
すべての浮動小数点例外が無効になります。FTZ (Flush-to-Zero) を有効にするコンパイラー・オプションを明示的に指定しない限り、浮動小数点アンダーフローは漸次アンダーフロー (gradual underflow) です。
|
説明
このオプションは、メインプログラムのランタイム時の浮動小数点例外処理の制御を許可します。これには、例外浮動小数点値が許容されるかどうかや、ランタイム時に例外がどの程度正確に報告されるかなどが含まれます。
fpe オプションは、次の条件における処理方法に影響を与えます。
浮動小数点演算の結果として、ゼロによる除算、オーバーフロー、または無効な演算が発生した場合。
浮動小数点演算の結果として、アンダーフローが発生した場合。
正規化されていない数字、またはその他の例外値 (正の無限大、負の無限大、または NaN) が算術式中に含まれている場合。
有効にされた例外が発生すると、実行はアボートし、ユーザーにその原因を報告するメッセージが表示されます。コンパイル時に、traceback コンパイラー・オプションが指定された場合、アボート地点についての詳細もレポートされます。
このオプションは、アンダーフロー例外、入力デノーマル例外、または不正確例外を有効にしません。
IDE オプション
Windows*:
[Floating Point (浮動小数点)] > [Floating-Point Exception Handling (浮動小数点例外処理)]
Linux*:
なし
OS X*:
[Floating Point (浮動小数点)] > [Floating-Point Exception Handling (浮動小数点例外処理)]