fetestexcept
Determina qual dos sinalizadores de status de exceção de ponto flutuante especificados estão definidos no momento.
Sintaxe
int fetestexcept(
int excepts
);
Parâmetros
excepts
Um OR bit a bit dos sinalizadores de status de ponto flutuante para testar.
Valor retornado
Em caso de sucesso, retorna uma bitmask contendo um OR bit a bit das macros de exceção de ponto flutuante que correspondem aos sinalizadores de status de exceção atualmente definidos. Retorna 0 se nenhuma das exceções for definida.
Comentários
Use a função fetestexcept para determinar quais exceções foram geradas pela operação de ponto flutuante. Use o parâmetro excepts
para especificar quais sinalizadores de status de exceção serão testados. A fetestexcept
função usa essas macros de exceção definidas em <fenv.h> in excepts
e o valor retornado:
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
especificado pode ser 0, 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 excepts
é 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++ |
---|---|---|
fetestexcept |
<fenv.h> | <cfenv> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.