Поделиться через


fp_contract

Определяет, будет ли выполняться сокращение чисел с плавающей запятой.

#pragma fp_contract [ON | OFF]

Заметки

По умолчанию ключевое слово fp_contract имеет значение ON (включено).

Дополнительные сведения о поведении чисел с плавающей запятой см. в разделе /fp (Определение поведения с плавающей запятой).

Другие типы директив pragma для значений с плавающей запятой:

Пример

В приведенном примере не используется инструкция совмещенного умножения-сложения (fma) на процессорах Itanium. Если закомментировать строку #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 и ключевое слово __Pragma