Partager via


feholdexcept

Enregistre l’environnement à virgule flottante actuel dans l’objet spécifié, supprime les indicateurs d’état à virgule flottante et, si possible, place l’environnement à virgule flottante en mode sans interruption.

Syntaxe

int feholdexcept(
   fenv_t *penv
);

Paramètres

penv
Pointeur désignant un objet fenv_t destiné à contenir une copie de l’environnement à virgule flottante.

Valeur retournée

Retourne zéro si et seulement si la fonction peut correctement activer la gestion des exceptions de virgule flottante en mode sans interruption.

Notes

La fonction feholdexcept est utilisée pour stocker l’état de l’environnement à virgule flottante actuel dans l’objet fenv_t désigné par penv et pour définir l’environnement de façon à ce qu’il n’interrompe pas l’exécution sur les exceptions de virgule flottante. Ce mode est appelé mode sans arrêt. Ce mode continue jusqu’à ce que l’environnement soit restauré à l’aide fesetenv ou feupdateenv.

Vous pouvez utiliser cette fonction au début d’une sous-routine qui a besoin de masquer une ou plusieurs exceptions de virgule flottante à l’appelant. Pour signaler une exception, vous pouvez effacer les exceptions indésirables à l’aide feclearexceptde , puis mettre fin au mode sans arrêt avec un appel à feupdateenv.

Pour utiliser cette fonction, vous devez désactiver les optimisations à virgule flottante qui peuvent empêcher l’accès à l’aide de la directive #pragma fenv_access(on) avant l’appel. Pour plus d’informations, consultez fenv_access.

Spécifications

Fonction En-tête C En-tête C++
feholdexcept <fenv.h> <cfenv>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Voir aussi

Référence de fonction alphabétique
feclearexcept
fesetenv
feupdateenv