|
#define FLT_EVAL_METHOD /* implementation-defined */
|
|
(depuis C++11)
|
|
|
|
|
Spécifie la précision avec laquelle toutes les opérations arithmétiques en virgule flottante, autres que l'affectation et le cast, sont effectuées.
|
Valeur
|
Explication
|
|
valeurs négatives sauf
-
1
|
comportement défini par l'implémentation
|
|
-
1
|
la précision par défaut n'est pas connue
|
|
0
|
toutes les opérations et constantes sont évaluées dans la plage et la précision du type utilisé. De plus,
float_t
et
double_t
sont équivalents à
float
et
double
respectivement
|
|
1
|
toutes les opérations et constantes sont évaluées dans la plage et la précision de
double
. De plus,
float_t
et
double_t
sont équivalents à
double
|
|
2
|
toutes les opérations et constantes sont évaluées dans la plage et la précision de
long
double
. De plus,
float_t
et
double_t
sont équivalents à
long
double
|
Notes
Quelle que soit la valeur de
FLT_EVAL_METHOD
, toute expression à virgule flottante peut être
contractée
, c'est-à-dire calculée comme si tous les résultats intermédiaires avaient une portée et une précision infinies (sauf si
#pragma
STDC FP_CONTRACT
est désactivé).
Le transtypage et l'affectation suppriment toute plage et précision superflues : cela modélise l'action de stocker une valeur d'un registre FPU en précision étendue dans un emplacement mémoire de taille standard.
Voir aussi