Partager via


fesetexceptflag

Définit les indicateurs d’état à virgule flottante spécifiés dans l’environnement à virgule flottante actuel.

Syntaxe

int fesetexceptflag(
     const fexcept_t *pstatus,
     int excepts
);

Paramètres

pstatus
Pointeur vers un fexcept_t objet contenant les valeurs pour définir les indicateurs d’état d’exception. L’objet peut être défini par un appel précédent à fegetexceptflag.

excepts
Indicateurs d’état d’exception de virgule flottante à définir.

Valeur retournée

Si tous les indicateurs d’état d’exception spécifiés sont définis correctement, retourne 0. Sinon, elles retournent une valeur différente de zéro.

Notes

La fonction fesetexceptflag définit l’état des indicateurs d’état d’exception de virgule flottante spécifiés par excepts sur les valeurs correspondantes définies dans l’objet fexcept_t désigné par pstatus. Elle ne déclenche pas les exceptions. Le pointeur pstatus doit désigner un objet fexcept_t valide ; sinon, le comportement suivant n’est pas défini. La fesetexceptflag fonction prend en charge ces valeurs de macro d’exception dans excepts, définies dans <fenv.h> :

Macros d’exception Description
FE_DIVBYZERO Une erreur de singularité ou de pôle s’est produite dans une opération à virgule flottante précédente ; une valeur infinie a été créée.
FE_INEXACT La fonction a été forcée d’arrondir le résultat stocké d’une opération à virgule flottante précédente.
FE_INVALID Une erreur de domaine s’est produite pendant une opération à virgule flottante précédente.
FE_OVERFLOW Une erreur de plage s’est produite ; le résultat d’une opération à virgule flottante précédente était trop grand pour être représenté.
FE_UNDERFLOW Le résultat d’une opération à virgule flottante précédente était trop petit pour être représenté avec une précision complète ; une valeur dénormalisée a été créée.
FE_ALL_EXCEPT Opération OR au niveau du bit de toutes les exceptions de virgule flottante prises en charge.

L’argument excepts peut être zéro, l’une des macros d’exception de virgule flottante prises en charge ou l’opération OR au niveau du bit d’au moins deux macros. L’effet de toute autre valeur d’argument est indéfini.

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

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

Voir aussi

Référence de fonction alphabétique
fegetexceptflag