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 feclearexcept
de , 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