FLT_EVAL_METHOD
|
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) |
|
(C99)
|
tipo de punto flotante más eficiente al menos tan ancho como
double
(typedef) |
|
Documentación de C++
para
FLT_EVAL_METHOD
|
|