Namespaces
Variants

Standard library header <fenv.h> (C99)

From cppreference.net

Этот заголовок является частью библиотеки окружения с плавающей точкой .

Содержание

Типы

Определено в заголовочном файле <fenv.h>
fenv_t Тип, представляющий всю среду чисел с плавающей запятой
fexcept_t Тип, представляющий все флаги статуса чисел с плавающей запятой в совокупности

Функции

очищает указанные флаги состояния чисел с плавающей запятой
(функция)
определяет, какие из указанных флагов состояния чисел с плавающей запятой установлены
(функция)
возбуждает указанные исключения чисел с плавающей запятой
(функция)
копирует состояние указанных флагов состояния чисел с плавающей запятой из или в окружение чисел с плавающей запятой
(функция)
получает или устанавливает направление округления
(функция)
сохраняет или восстанавливает текущее окружение чисел с плавающей запятой
(функция)
сохраняет окружение, очищает все флаги состояния и игнорирует все будущие ошибки
(функция)
восстанавливает окружение чисел с плавающей запятой и возбуждает ранее возбужденные исключения
(функция)

Макросы

исключения с плавающей точкой
(макроконстанта)
направление округления с плавающей точкой
(макроконстанта)
окружение с плавающей точкой по умолчанию
(макроконстанта)

Синопсис

#define __STDC_VERSION_FENV_H__ 202311L
#define FE_ALL_EXCEPT         /* см. описание */
#define FE_DIVBYZERO          /* см. описание */
#define FE_INEXACT            /* см. описание */
#define FE_INVALID            /* см. описание */
#define FE_OVERFLOW           /* см. описание */
#define FE_UNDERFLOW          /* см. описание */
#define FE_DOWNWARD           /* см. описание */
#define FE_TONEARESTFROMZERO  /* см. описание */
#define FE_TONEAREST          /* см. описание */
#define FE_TOWARDZERO         /* см. описание */
#define FE_UPWARD             /* см. описание */
#define FE_DFL_ENV            /* см. описание */
#define FE_DFL_MODE           /* см. описание */
#define fenv_t                /* см. описание */
#define fexcept_t             /* см. описание */
#define femode_t              /* см. описание */
#pragma STDC FENV_ACCESS      /*on-off-switch*/
#pragma STDC FENV_ROUND       direction
#pragma STDC FENV_ROUND       FE_DYNAMIC
// функции
int feclearexcept(int excepts);
int fegetexceptflag(fexcept_t* flagp, int excepts);
int feraiseexcept(int excepts);
int fesetexcept(int excepts);
int fesetexceptflag(const fexcept_t* flagp, int excepts);
int fetestexceptflag(const fexcept_t* flagp, int excepts);
int fetestexcept(int excepts);
int fegetmode(femode_t* modep);
int fegetround(void);
int fesetmode(const femode_t* modep);
int fesetround(int rnd);
int fegetenv(fenv_t* envp);
int feholdexcept(fenv_t* envp);
int fesetenv(const fenv_t* envp);
int feupdateenv(const fenv_t* envp);
// Только если реализация определяет __STDC_IEC_60559_DFP__:
#define FE_DEC_DOWNWARD            /* определено реализацией */
#define FE_DEC_TONEARESTFROMZERO   /* определено реализацией */
#define FE_DEC_TONEAREST           /* определено реализацией */
#define FE_DEC_TOWARDZERO          /* определено реализацией */
#define FE_DEC_UPWARD              /* определено реализацией */
#pragma STDC FENV_DEC_ROUND /*dec-direction*/
int fe_dec_getround(void);
int fe_dec_setround(int rnd);
// Только если реализация следует рекомендуемой практике из F.2.2:
#define FE_SNANS_ALWAYS_SIGNAL /* определено реализацией */