.NET Framework で浮動小数点制御ワードを変更した場合に発生する可能性がある問題について
こんにちは、Japan Developer Support Core チームの松井です。
今回は、.NET Framework アプリケーションから x87 浮動小数点ユニット (FPU) の制御ワードを変更した場合に発生し得る、予期しない問題についてご案内します。
はじめにVisual C++ ランタイムの _controlfp や _control87 といった関数を用いると、x86 アーキテクチャー上で動作するプロセスの x87 FPU 制御ワード (浮動小数点制御ワード) を変更できます。これにより、浮動小数点演算の精度・丸めモード・例外マスクなどを制御できます。
しかしながら、 .NET Framework アプリケーションから FPU の制御ワードを変更することはサポートされていません 。.NET Framework は既定の浮動小数点制御ワードの値を前提として動作しており、こ...