Partager via


feupdateenv

Enregistre les exceptions de virgule flottante déclenchées, restaure l’état de l’environnement à virgule flottante spécifié, puis lève les exceptions de virgule flottante enregistrées.

Syntaxe

int feupdateenv(
   const fenv_t* penv
);

Paramètres

penv
Pointeur vers un fenv_t objet qui contient un environnement à virgule flottante tel qu’il est défini par un appel à fegetenv ou feholdexcept. Vous pouvez également spécifier l’environnement à virgule flottante de démarrage par défaut à l’aide de la FE_DFL_ENV macro.

Valeur retournée

Retourne 0 si toutes les actions se sont déroulées correctement. Sinon, elles retournent une valeur différente de zéro.

Notes

La fonction feupdateenv effectue plusieurs actions. Tout d’abord, elle stocke automatiquement les indicateurs d’état d’exception de virgule flottante déclenchés actuels. Ensuite, elle définit l’environnement à virgule flottante actuel à partir de la valeur stockée dans l’objet fenv_t désigné par penv. Si penv ce n’est pas le cas ou ne pointe pas FE_DFL_ENV vers un objet valide fenv_t , le comportement suivant n’est pas défini. Enfin, feupdateenv déclenche les exceptions de virgule flottante stockées localement.

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++
feupdateenv <fenv.h> <cfenv>

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

Voir aussi

fegetenv
feclearexcept
feholdexcept
fesetexceptflag