fesetexceptflag

Define os sinalizadores de status de ponto flutuante especificados no ambiente atual de ponto flutuante.

Sintaxe

int fesetexceptflag(
     const fexcept_t *pstatus,
     int excepts
);

Parâmetros

pstatus
Ponteiro para um fexcept_t objeto que contém os valores para os quais definir os sinalizadores de status de exceção. O objeto pode ser definido por uma chamada anterior para fegetexceptflag.

excepts
Os sinalizadores do status de exceção de ponto flutuante que serão definidos.

Retornar valor

Se todos os sinalizadores de status de exceção especificados forem definidos com êxito, retornará 0. Caso contrário, retornará um valor diferente de zero.

Comentários

A função fesetexceptflag define o estado dos sinalizadores de status de exceção de ponto flutuante especificados por excepts para os valores correspondentes definidos no objeto fexcept_t apontado por pstatus. Não levanta as exceções. O ponteiro pstatus deverá apontar para um objeto fexcept_t válido ou o comportamento subsequente será indefinido. A fesetexceptflag função oferece suporte a esses valores de macro de exceção em , definidos em excepts<fenv.h>:

Macro de exceção Descrição
FE_DIVBYZERO Ocorreu um erro de polo ou singularidade em uma operação de ponto flutuante anterior. Um valor infinito foi criado.
FE_INEXACT A função foi forçada a arredondar o resultado armazenado de uma operação de ponto flutuante anterior.
FE_INVALID Ocorreu um erro de domínio em uma operação de ponto flutuante anterior.
FE_OVERFLOW Ocorreu um erro de intervalo. O resultado de uma operação de ponto flutuante anterior era muito grande para ser representado.
FE_UNDERFLOW O resultado de uma operação de ponto flutuante anterior era muito pequeno para ser representado na precisão total. Um valor de denormal foi criado.
FE_ALL_EXCEPT O OR bit a bit de todas as exceções de ponto flutuante com suporte.

O argumento excepts pode ser zero, uma das macros de exceção de ponto flutuante com suporte ou OR bit a bit de duas ou mais das macros. O efeito de qualquer outro valor de argumento é indefinido.

Para usar essa função, você deve desligar otimizações de ponto flutuante que poderiam impedir o acesso usando a diretiva #pragma fenv_access(on) antes da chamada. Para obter mais informações, consulte fenv_access.

Requisitos

Função Cabeçalho C Cabeçalho C++
fesetexceptflag <fenv.h> <cfenv>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Confira também

Referência de função alfabética
fegetexceptflag