Namespaces
Variants

FLT_EVAL_METHOD

From cppreference.net
< c ‎ | types ‎ | limits
Défini dans l'en-tête <float.h>
#define FLT_EVAL_METHOD /* implementation-defined */
(depuis C99)

Spécifie la plage et la précision des valeurs à virgule flottante obtenues à partir de constantes à virgule flottante et de toutes les opérations (opérateurs, conversions implicites d'opérandes) sauf l'affectation, le cast et l'appel de fonction de bibliothèque.

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 en 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

(C99)
type à virgule flottante le plus efficace d'au moins la largeur de float
(typedef)
type à virgule flottante le plus efficace d'au moins la largeur de double
(typedef)
Documentation C++ pour FLT_EVAL_METHOD