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.