fpe

 

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

IDE オプション

Windows: [Floating Point (浮動小数点)] > [Floating-Point Exception Handling (浮動小数点例外処理)]

Linux: なし

Mac OS X: [Floating Point (浮動小数点)] > [Floating-Point Exception Handling (浮動小数点例外処理)]

アーキテクチャー

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

構文

Linux および Mac OS X:

-fpen

Windows:

/fpe: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 サポートを提供します。

デフォルト

-fpe3 または /fpe:3

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

説明

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

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

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

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

代替オプション

なし

関連情報