こんにちは、
S32K314 チップ上の FPU に例外を設定しようとしていますが、特定のCASEをキャッチする方法がわかりません。
1) オーバーフローと、INF になる操作をキャッチしようとしています。ただし、INF が入力の 1 つである場合、出力は INF に設定されますが、フラグは設定されません。例外を使用して、入力の 1 つとして INF を持つ操作をキャッチするにはどうすればよいですか。
2) 例外を使用して、すべての NaN (Quiet と Signaling の両方) をキャッチしようとしています。明らかに SNaN をキャッチ CAN ますが、例外を使用して QNaN をキャッチ CAN するにはどうすればよいでしょうか?SO、すべての NaN を SNaN にするにはどうすればよいでしょうか。あるいは、すべての NaN をキャッチできるようにするにはどうすればよいでしょうか。
ありがとう、
ジョン
1) 入力として INF を使用すると、IEEE-754 に従って有効とみなされるため、IOC またはオーバーフローは発生しません。
INF では無効な操作が行われる可能性があります:
INF − INF → 無効、結果 = NaN (IOC セット)。
INF × 0 → 無効、結果 = NaN (IOC セット)。
2) QNaN は例外を発生せず、黙って伝播します。SNaN のみが無効な演算条件を発生させます。