Floating-point environment
El entorno de punto flotante es el conjunto de banderas de estado de punto flotante y modos de control soportados por la implementación. Es local al hilo, cada hilo hereda el estado inicial de su entorno de punto flotante del hilo padre. Las operaciones de punto flotante modifican las banderas de estado de punto flotante para indicar resultados anormales o información auxiliar. El estado de los modos de control de punto flotante afecta los resultados de algunas operaciones de punto flotante.
El acceso y modificación del entorno de punto flotante solo tiene sentido cuando
#pragma STDC FENV_ACCESS
está configurado en
ON
. De lo contrario, la implementación puede asumir que los modos de control de punto flotante son siempre los predeterminados y que las banderas de estado de punto flotante nunca se prueban o modifican. En la práctica, pocos compiladores actuales, como HP aCC, Oracle Studio e IBM XL, admiten el
#pragma
explícitamente, pero la mayoría de los compiladores permiten un acceso significativo al entorno de punto flotante de todos modos.
Contenidos |
Tipos
|
Definido en el encabezado
<fenv.h>
|
|
| fenv_t | El tipo que representa el entorno completo de punto flotante |
| fexcept_t | El tipo que representa todas las banderas de estado de punto flotante colectivamente |
Funciones
|
(C99)
|
borra las banderas de estado de punto flotante especificadas
(función) |
|
(C99)
|
determina cuáles de las banderas de estado de punto flotante especificadas están activadas
(función) |
|
(C99)
|
genera las excepciones de punto flotante especificadas
(función) |
|
(C99)
(C99)
|
copia el estado de las banderas de estado de punto flotante especificadas desde o hacia el entorno de punto flotante
(función) |
|
(C99)
(C99)
|
obtiene o establece la dirección de redondeo
(función) |
|
(C99)
|
guarda o restaura el entorno actual de punto flotante
(función) |
|
(C99)
|
guarda el entorno, borra todas las banderas de estado e ignora todos los errores futuros
(función) |
|
(C99)
|
restaura el entorno de punto flotante y genera las excepciones previamente generadas
(función) |
Macros
|
excepciones de punto flotante
(constante macro) |
|
|
dirección de redondeo de punto flotante
(constante macro) |
|
|
(C99)
|
entorno de punto flotante predeterminado
(constante macro) |
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 7.6 Entorno de punto flotante <fenv.h> (p: TBD)
-
- 7.31.4 Entorno de punto flotante <fenv.h> (p: TBD)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.6 Entorno de punto flotante <fenv.h> (p: 150-156)
-
- 7.31.4 Entorno de punto flotante <fenv.h> (p: 332)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.6 Entorno de punto flotante <fenv.h> (p: 206-215)
-
- 7.31.4 Entorno de punto flotante <fenv.h> (p: 455)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.6 Entorno de punto flotante <fenv.h> (p: 187-196)
Véase también
|
Documentación de C++
para
Entorno de punto flotante
|