浮動小数点例外のcatch
どこかからNaNが伝播している模様。困った。
Visual Studio 2003では各種浮動小数点演算の例外をcatchできるようになっているが、デバッグ→例外で指定するだけではだめで、
// unmask so that floating point exceptions are thrown _controlfp(0, _MCW_EM);
というコードも必要。
追記:
これだと大量発生する丸め誤差例外も発生しちゃうのか。改良が必要。
どこかからNaNが伝播している模様。困った。
Visual Studio 2003では各種浮動小数点演算の例外をcatchできるようになっているが、デバッグ→例外で指定するだけではだめで、
// unmask so that floating point exceptions are thrown _controlfp(0, _MCW_EM);
というコードも必要。
追記:
これだと大量発生する丸め誤差例外も発生しちゃうのか。改良が必要。