Compartilhar via


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 feclearexcepto 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