FLT_EVAL_METHOD
|
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) |
|
(C99)
|
type à virgule flottante le plus efficace d'au moins la largeur de
double
(typedef) |
|
Documentation C++
pour
FLT_EVAL_METHOD
|
|