次の方法で共有


fp_contract

浮動小数点の縮約が発生したかを判定します。

#pragma fp_contract [ON | OFF]

解説

fp_contract は既定でオンになります。

浮動小数点の動作の詳細については、「/fp (浮動小数点の動作の指定)」を参照してください。

その他の浮動小数点プラグマには以下があります。

使用例

このサンプルから生成されるコードは、Itanium プロセッサ上で融合型積和演算 (fma: Fused Multiply Add) 命令を使用しません。 #pragma fp_contract (off) をコメント アウトすると、生成されたコードでは fma 命令が使用されます。

// pragma_directive_fp_contract.cpp
// compile with: /O2
#include <stdio.h>
#include <float.h>

#pragma fp_contract (off) 

int main() {
   double z, b, t;

   for (int i = 0; i < 10; i++) {
      b = i * 5.5;
      t = i * 56.025;
      _set_controlfp(_PC_24, _MCW_PC);

      z = t * i + b;
      printf_s ("out=%.15e\n", z);
   }
}
  

参照

関連項目

プラグマ ディレクティブと __Pragma キーワード