feholdexcept
Salva o ambiente atual de ponto flutuante no objeto especificado, limpa os sinalizadores de status do ponto flutuante e, se possível, coloca o ambiente de ponto flutuante no modo contínuo.
Sintaxe
int feholdexcept(
fenv_t *penv
);
Parâmetros
penv
Ponteiro para um objeto fenv_t
para conter uma cópia do ambiente de ponto flutuante.
Valor retornado
Retorna zero se, e somente se, a função for capaz de ativar o tratamento de exceções de ponto flutuante contínuo com êxito.
Comentários
A função feholdexcept
é usada para armazenar o estado do ambiente de ponto flutuante atual no objeto fenv_t
apontado por penv
e para definir o ambiente para não interromper a execução em exceções de ponto flutuante. Este modo é conhecido como modo ininterrupto. Esse modo continua até que o ambiente seja restaurado usando fesetenv
ou feupdateenv
.
Você pode usar essa função no início de uma sub-rotina que precisa ocultar uma ou mais exceções de ponto flutuante do chamador. Para relatar uma exceção, você pode limpar as exceções indesejadas usando feclearexcept
o e encerrar o modo ininterrupto com uma chamada para feupdateenv
.
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++ |
---|---|---|
feholdexcept |
<fenv.h> | <cfenv> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Confira também
Referência alfabética de função
feclearexcept
fesetenv
feupdateenv