fesetexceptflag
Establece las marcas de estado de punto flotante especificadas en el entorno actual de punto flotante.
Sintaxis
int fesetexceptflag(
const fexcept_t *pstatus,
int excepts
);
Parámetros
pstatus
Puntero a un fexcept_t
objeto que contiene los valores para establecer las marcas de estado de excepción en . El objeto puede establecerse mediante una llamada anterior a fegetexceptflag
.
excepts
Marcas de estado de excepción de punto flotante que se establecen.
Valor devuelto
Si todas las marcas de estado de excepción especificadas se establecen correctamente, devuelve 0. De lo contrario, devuelve un valor distinto de cero.
Comentarios
La función fesetexceptflag
establece el estado de las marcas de estado de excepción de punto flotante especificadas por excepts
en los valores correspondientes establecidos en el objeto fexcept_t
al que apunta pstatus
. No genera las excepciones. El puntero pstatus
debe apuntar a un objeto fexcept_t
válido o el comportamiento posterior es indefinido. La fesetexceptflag
función admite estos valores de macro de excepción en excepts
, definidos en <fenv.h>:
Macro de excepción | Descripción |
---|---|
FE_DIVBYZERO |
Se ha producido un error de singularidad o de polo en una operación de punto flotante anterior; se ha creado un valor infinito. |
FE_INEXACT |
Se ha forzado la función a redondear el resultado almacenado de una operación de punto flotante anterior. |
FE_INVALID |
Se ha producido un error de dominio en una operación de punto flotante anterior. |
FE_OVERFLOW |
Se ha producido un error de intervalo; el resultado de una operación de punto flotante anterior era demasiado grande para representarse. |
FE_UNDERFLOW |
El resultado de una operación de punto flotante anterior era demasiado pequeño para representarlo con completa precisión; se ha creado un valor no normalizado. |
FE_ALL_EXCEPT |
Operación OR bit a bit de todas las excepciones de punto flotante admitidas. |
El argumento excepts
puede ser cero, una de las macros de excepción de punto flotante admitidas o la operación OR bit a bit de dos o más de las macros. El efecto de cualquier otro valor de argumento es indefinido.
Para usar esta función, debe desactivar las optimizaciones de punto flotante que podrían impedir el acceso mediante la directiva #pragma fenv_access(on)
antes de la llamada. Para obtener más información, vea fenv_access
.
Requisitos
Función | Encabezado C | Encabezado C++ |
---|---|---|
fesetexceptflag |
<fenv.h> | <cfenv> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.