Namespaces
Variants

FLT_EVAL_METHOD

From cppreference.net
< c ‎ | types ‎ | limits
Definido en el encabezado <float.h>
#define FLT_EVAL_METHOD /* implementation-defined */
(desde C99)

Especifica el rango y la precisión de los valores de punto flotante obtenidos de constantes de punto flotante y de todas las operaciones (operadores, conversiones implícitas de operandos) excepto asignación, conversión y llamada a función de biblioteca.

Valor Explicación
valores negativos excepto - 1 comportamiento definido por la implementación
- 1 la precisión predeterminada no se conoce
0 todas las operaciones y constantes se evalúan en el rango y precisión del tipo utilizado. Adicionalmente, float_t y double_t son equivalentes a float y double respectivamente
1 todas las operaciones y constantes se evalúan en el rango y precisión de double . Adicionalmente, tanto float_t como double_t son equivalentes a double
2 todas las operaciones y constantes se evalúan en el rango y precisión de long double . Adicionalmente, tanto float_t como double_t son equivalentes a long double

Notas

Independientemente del valor de FLT_EVAL_METHOD , cualquier expresión de punto flotante puede ser contraída , es decir, calculada como si todos los resultados intermedios tuvieran rango y precisión infinitos (a menos que #pragma STDC FP_CONTRACT esté desactivado).

La conversión y asignación eliminan cualquier rango y precisión extraños: esto modela la acción de almacenar un valor desde un registro de FPU de precisión extendida en una ubicación de memoria de tamaño estándar.

Véase también

(C99)
tipo de punto flotante más eficiente al menos tan ancho como float
(typedef)
tipo de punto flotante más eficiente al menos tan ancho como double
(typedef)
Documentación de C++ para FLT_EVAL_METHOD