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.

Consulte también

Referencia de función alfabética
fegetexceptflag