Namespaces
Variants

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

From cppreference.net
Standard library headers

Este encabezado estaba originalmente en la biblioteca estándar de C como <fenv.h> .

Este encabezado es parte de la biblioteca de entorno de punto flotante .

Contenidos

Tipos

fenv_t
(C++11)
el tipo que representa todo el entorno de punto flotante
(typedef)
fexcept_t
(C++11)
el tipo que representa todas las banderas de estado de punto flotante colectivamente
(typedef)

Funciones

borra las banderas de estado de punto flotante especificadas
(función)
determina cuáles de las banderas de estado de punto flotante especificadas están activadas
(función)
genera las excepciones de punto flotante especificadas
(función)
copia el estado de las banderas de estado de punto flotante especificadas desde o hacia el entorno de punto flotante
(función)
(C++11) (C++11)
obtiene o establece la dirección de redondeo
(función)
guarda o restaura el entorno actual de punto flotante
(función)
guarda el entorno, borra todas las banderas de estado e ignora todos los errores futuros
(función)
restaura el entorno de punto flotante y genera las excepciones previamente activadas
(función)

Macros

excepciones de punto flotante
(constante macro)
dirección de redondeo de punto flotante
(constante macro)
(C++11)
entorno de punto flotante predeterminado
(constante macro)

Sinopsis

#define FE_ALL_EXCEPT /* ver descripción */
#define FE_DIVBYZERO /* ver descripción */    // opcional
#define FE_INEXACT /* ver descripción */      // opcional
#define FE_INVALID /* ver descripción */      // opcional
#define FE_OVERFLOW /* ver descripción */     // opcional
#define FE_UNDERFLOW /* ver descripción */    // opcional
#define FE_DOWNWARD /* ver descripción */     // opcional
#define FE_TONEAREST /* ver descripción */    // opcional
#define FE_TOWARDZERO /* ver descripción */   // opcional
#define FE_UPWARD /* ver descripción */       // opcional
#define FE_DFL_ENV /* ver descripción */
namespace std {
    // tipos
    using fenv_t    = /* tipo de objeto */;
    using fexcept_t = /* tipo de objeto */;
    // funciones
    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);
}

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3905 C++11 std::fexcept_t debe ser un tipo entero es un tipo objeto