2

VS2010 コンパイラは、コンパイラの最適化が完全に無効にされていない限り、倍精度で式を計算しているようです ( /Od)。

static const float a = 1.0f;
if (b < (float)(1.0f + a))...

ここで、1.0f + aは最初に倍精度で計算され、その後、最適化レベルが 以外の場合は単精度にキャストされ/Odます。残念ながら、コンパイラの浮動小数点モデルを に設定すると、計算式でstrictプリコンパイラを使用できない#definesため、これはオプションではありません。

それを適切な方法で処理し、コンパイラに上記のステートメントを単精度で計算させるにはどうすればよいですか?

4

0 に答える 0