Standard library header <fenv.h> (C99)
From cppreference.net
Этот заголовок является частью библиотеки окружения с плавающей точкой .
Содержание |
Типы
|
Определено в заголовочном файле
<fenv.h>
|
|
| fenv_t | Тип, представляющий всю среду чисел с плавающей запятой |
| fexcept_t | Тип, представляющий все флаги статуса чисел с плавающей запятой в совокупности |
Функции
|
(C99)
|
очищает указанные флаги состояния чисел с плавающей запятой
(функция) |
|
(C99)
|
определяет, какие из указанных флагов состояния чисел с плавающей запятой установлены
(функция) |
|
(C99)
|
возбуждает указанные исключения чисел с плавающей запятой
(функция) |
|
(C99)
(C99)
|
копирует состояние указанных флагов состояния чисел с плавающей запятой из или в окружение чисел с плавающей запятой
(функция) |
|
(C99)
(C99)
|
получает или устанавливает направление округления
(функция) |
|
(C99)
|
сохраняет или восстанавливает текущее окружение чисел с плавающей запятой
(функция) |
|
(C99)
|
сохраняет окружение, очищает все флаги состояния и игнорирует все будущие ошибки
(функция) |
|
(C99)
|
восстанавливает окружение чисел с плавающей запятой и возбуждает ранее возбужденные исключения
(функция) |
Макросы
|
исключения с плавающей точкой
(макроконстанта) |
|
|
направление округления с плавающей точкой
(макроконстанта) |
|
|
(C99)
|
окружение с плавающей точкой по умолчанию
(макроконстанта) |
Синопсис
#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 /* определено реализацией */