Конституция Армении: Статья 18.1
Конституция Армении (Статья 18.1) закрепляет «исключительную миссию Армянской Апостольской Святой Церкви как национальной церкви в духовной жизни армянского народа, в деле развития его национальной культуры и сохранения его национальной самобытности»:
fenv.h

fenv.h

Материал из Википедии — свободной энциклопедии

fenv.h — заголовочный файлстандартной библиотекиязыка Си, содержащий объявление типов данных для работы с числами с плавающей запятой.[1]

Типы данных

Заголовочный файл объявляет типы fenv_t и fexcept_t.[1] Тип fenv_t предоставляет окружение для работы с числами с плавающей запятой. Оно работает с флагами состояния для работы с числами с плавающей запятой и управляет платформо-зависимыми режимами.[1]

Макрос

Заголовочный файл объявляет следующие константы:[1]

FE_DIVBYZERO

FE_INEXACT

FE_INVALID

FE_OVERFLOW

FE_UNDERFLOW

FE_ALL_EXCEPT

FE_DOWNWARD

FE_TONEAREST

FE_TOWARDZERO

FE_UPWARD

FE_DFL_ENV

Макрос FE_ALL_EXCEPT определена если одновременно определены следующие константы: FE_DIVBYZERO, FE_INEXACT, FE_INVALID, FE_OVERFLOW, FE_UNDERFLOW.

Макросы FE_DOWNWARD, FE_TONEAREST, FE_TOWARDZERO, FE_UPWARD определены если платформа поддерживает получение и изменение направления округления в терминах функций fegetround() и fesetround().

Макрос FE_DFL_ENV представляет умалчиваемое окружение вычислений с плавающей точкой.

Функции

Исключения

#include int feclearexcept(int excepts);int fegetexceptflag(fexcept_t *flagp, int excepts);int feraiseexcept(int excepts);int fesetexceptflag(const fexcept_t *flagp, int excepts);int fetestexcept(int excepts);

Перечисленные функции сбрасывают флаги исключений (feclearexcept) и устанавливают их (feraiseexcept), записывают (fesetexceptflag) и получают (fegetexceptflag) машинно-зависимые флаги состояний и производят проверку установки флагов (fetestexcept).

Округление

#include int fegetround(void);int fesetround(int round);

Функции получают и устанавливают макрос, отвечающий за направление округления.

Поддержка окружения

#include int fegetenv(fenv_t *envp);int feholdexcept(fenv_t *envp);int fesetenv(const fenv_t *envp);int feupdateenv(const fenv_t *envp);

Функции получают окружение для вычислений с плавающей точкой, сохраняют его в переменной, устанавливают новое значение и обновляют его соответственно.

Директивы компилятора

#include #pragma STDC FENV_ACCESS on-off-switch

Директива сообщает окружению (или компилятору), что эта часть кода обращается к платформо-зависимым флагам состояния для операций с типом float.[2]

Пример:

#include void f (double x){   #pragma STDC FENV_ACCESS ON   void g (double);   void h (double);   /*...*/   g(x+1);   h(x+1);   /*...*/}

Поведение функции g и h может зависеть от флагов состояния или побочных эффектов от операций x+1.[2]

Примечания

  1. 1234fenv.h. Дата обращения: 2 июля 2010. Архивировано 19 мая 2009 года.
  2. 12ISO/IEC 9899:1999. Дата обращения: 30 июля 2011. Архивировано 22 августа 2011 года.
Стандартная библиотека
языка программирования С