Partager via


fp_contract

Détermine si la contraction à virgule flottante doit être effectuée.

#pragma fp_contract [ON | OFF]

Notes

Par défaut, fp_contract a pour valeur ON.

Pour plus d'informations sur le comportement en virgule flottante, consultez /fp (Spécifier le comportement de virgule flottante).

Les autres pragmas à virgule flottante incluent :

Exemple

Le code généré à partir de cet exemple n'utilise pas l'instruction fma (Fused Multiply Add) sur les processeurs Itanium. Si vous placez en commentaires #pragma fp_contract (off), le code généré utilise l'instruction 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);
   }
}
  

Voir aussi

Référence

Directives pragma et mot clé _Pragma