Namespaces
Variants

Standard library header <cfenv> (C++11)

From cppreference.net
Standard library headers

Cet en-tête était à l'origine dans la bibliothèque standard C sous le nom <fenv.h> .

Cet en-tête fait partie de la bibliothèque d'environnement à virgule flottante .

Table des matières

Types

fenv_t
(C++11)
le type représentant l'environnement à virgule flottante complet
(typedef)
fexcept_t
(C++11)
le type représentant collectivement tous les indicateurs d'état à virgule flottante
(typedef)

Fonctions

efface les indicateurs d'état en virgule flottante spécifiés
(fonction)
détermine quels indicateurs d'état en virgule flottante spécifiés sont activés
(fonction)
déclenche les exceptions en virgule flottante spécifiées
(fonction)
copie l'état des indicateurs d'état en virgule flottante spécifiés depuis ou vers l'environnement en virgule flottante
(fonction)
(C++11) (C++11)
obtient ou définit la direction d'arrondi
(fonction)
sauvegarde ou restaure l'environnement en virgule flottante actuel
(fonction)
sauvegarde l'environnement, efface tous les indicateurs d'état et ignore toutes les erreurs futures
(fonction)
restaure l'environnement en virgule flottante et déclenche les exceptions précédemment levées
(fonction)

Macros

exceptions en virgule flottante
(constante macro)
direction d'arrondi en virgule flottante
(constante macro)
(C++11)
environnement par défaut en virgule flottante
(constante macro)

Synopsis

#define FE_ALL_EXCEPT /* voir description */
#define FE_DIVBYZERO /* voir description */    // optionnel
#define FE_INEXACT /* voir description */      // optionnel
#define FE_INVALID /* voir description */      // optionnel
#define FE_OVERFLOW /* voir description */     // optionnel
#define FE_UNDERFLOW /* voir description */    // optionnel
#define FE_DOWNWARD /* voir description */     // optionnel
#define FE_TONEAREST /* voir description */    // optionnel
#define FE_TOWARDZERO /* voir description */   // optionnel
#define FE_UPWARD /* voir description */       // optionnel
#define FE_DFL_ENV /* voir description */
namespace std {
    // types
    using fenv_t    = /* type d'objet */;
    using fexcept_t = /* type d'objet */;
    // fonctions
    int feclearexcept(int except);
    int fegetexceptflag(fexcept_t* pflag, int except);
    int feraiseexcept(int except);
    int fesetexceptflag(const fexcept_t* pflag, int except);
    int fetestexcept(int except);
    int fegetround(void);
    int fesetround(int mode);
    int fegetenv(fenv_t* penv);
    int feholdexcept(fenv_t* penv);
    int fesetenv(const fenv_t* penv);
    int feupdateenv(const fenv_t* penv);
}

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement correct
LWG 3905 C++11 std::fexcept_t doit être un type entier c'est un type objet