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 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.
Valor retornado
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 dá suporte a esses valores de macro de exceção em excepts
, definidos em <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.