Spec-Zone.ru › C

Заголовок стандартной библиотеки <fenv.h> (C99)

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

Типы

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

Функции

feclearexcept
(C99)
сбрасывает указанные флаги состояния чисел с плавающей точкой
(функция)
fetestexcept
(C99)
определяет, какие из указанных флагов состояния чисел с плавающей точкой установлены
(функция)
feraiseexcept
(C99)
вызывает указанные исключения для чисел с плавающей точкой
(функция)
fegetexceptflagfesetexceptflag
(C99)(C99)
копирует состояние указанных флагов состояния чисел с плавающей точкой из окружения чисел с плавающей точкой или в него
(функция)
fegetroundfesetround
(C99)(C99)
получает или задаёт режим округления
(функция)
fegetenvfesetenv
(C99)
сохраняет или восстанавливает текущее окружение чисел с плавающей точкой
(функция)
feholdexcept
(C99)
сохраняет окружение, сбрасывает все флаги состояния и игнорирует все последующие ошибки
(функция)
feupdateenv
(C99)
восстанавливает окружение чисел с плавающей точкой и вызывает ранее возникшие исключения
(функция)

Макросы

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

Общее описание

#define __STDC_VERSION_FENV_H__ 202311L

#define FE_ALL_EXCEPT         /* see description */
#define FE_DIVBYZERO          /* see description */
#define FE_INEXACT            /* see description */
#define FE_INVALID            /* see description */
#define FE_OVERFLOW           /* see description */
#define FE_UNDERFLOW          /* see description */
#define FE_DOWNWARD           /* see description */
#define FE_TONEARESTFROMZERO  /* see description */
#define FE_TONEAREST          /* see description */
#define FE_TOWARDZERO         /* see description */
#define FE_UPWARD             /* see description */
#define FE_DFL_ENV            /* see description */
#define FE_DFL_MODE           /* see description */

#define fenv_t                /* see description */
#define fexcept_t             /* see description */
#define femode_t              /* see description */

#pragma STDC FENV_ACCESS      /*on-off-switch*/
#pragma STDC FENV_ROUND       direction
#pragma STDC FENV_ROUND       FE_DYNAMIC

// functions
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);

// Only if the implementation defines __STDC_IEC_60559_DFP__:
#define FE_DEC_DOWNWARD            /* implementation-defined */
#define FE_DEC_TONEARESTFROMZERO   /* implementation-defined */
#define FE_DEC_TONEAREST           /* implementation-defined */
#define FE_DEC_TOWARDZERO          /* implementation-defined */
#define FE_DEC_UPWARD              /* implementation-defined */

#pragma STDC FENV_DEC_ROUND /*dec-direction*/
int fe_dec_getround(void);
int fe_dec_setround(int rnd);

// Only if the implementation follows the recommended practice from F.2.2:
#define FE_SNANS_ALWAYS_SIGNAL /* implementation-defined */

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/header/fenv

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API