浮動小数点算術ハードウェアの非標準の初期化を行います。
このオプションは、次のオプションフラグを組み合わせたマクロです。
-fns -ftrap=common
-fnonstd を指定することは、Fortran 主プログラムの先頭で次の 2 つの呼び出しを行うのとほぼ同じです。
i=ieee_handler("set", "common", SIGFPE_ABORT) call nonstandard_arithmetic() |
nonstandard_arithmetic() ルーチンは、旧式の abrupt_underflow() ルーチンの代わりです。
このオプションを有効にするには、主プログラム全体にこのオプションを付けてコンパイルする必要があります。
このオプションを使用すると、浮動小数点ハードウェアが初期化されて次の処理が実行されます。
浮動小数点例外で異常終了 (トラップ) します。
速度が改善する場合には、アンダーフローのフラッシュ時に、IEEE 規格の要求しているような非正規数ではなく、ゼロを生成します。
段階的アンダーフローおよび非正規数についての詳細は、-fns を参照してください。
-fnonstd オプションは、浮動小数点オーバーフロー、ゼロによる除算、無効な演算などの例外処理のためのハードウェアトラップを可能にします。これらのハードウェアトラップは SIGFPE シグナルに変換され、プログラムに SIGFPE ハンドラがなければメモリーダンプして終了します。
詳細は、ieee_handler(3m) と ieee_functions(3m) のマニュアルページ、『数値計算ガイド』、および『Fortran プログラミングガイド』を参照してください。