Поделиться через


fegetexceptflag

Сохраняет текущее состояние указанных флагов исключений с плавающей запятой.

Синтаксис

int fegetexceptflag(
   fexcept_t* pstatus,
   int excepts
);

Параметры

pstatus
Указатель на объект fexcept_t, содержащий текущие значения флагов исключений, определяемых функцией excepts.

excepts
Флаги исключений с плавающей запятой, которые требуется сохранить в pstatus.

Возвращаемое значение

При успешном выполнении возвращает 0. В противном случае возвращается ненулевое значение.

Замечания

Функция fegetexceptflag сохраняет текущее состояние флагов состояния исключения с плавающей запятой, заданное с помощью функции excepts, в объекте fexcept_t, на который указывает pstatus. Указатель pstatus должен указывать на допустимый объект fexcept_t. В противном случае последующее поведение функции будет неопределенным. Функция fegetexceptflag поддерживает эти макросы исключений, определенные в <fenv.h>:

Макрос исключения Description
FE_DIVBYZERO При выполнении предыдущей операции с плавающей запятой произошла ошибка сингулярности или полюса, в результате чего было получено бесконечное значение.
FE_INEXACT Функция принудительно округлила сохраненный результат ранее выполненной операции с плавающей запятой.
FE_INVALID Ошибка домена в ранее выполненной операции с плавающей запятой.
FE_OVERFLOW Ошибка диапазона. Ранее выполненная операция с плавающей запятой возвратила слишком большое значение, которое не удается представить.
FE_UNDERFLOW Ранее выполненная операция с плавающей запятой возвратила слишком малое значение, которое не удается представить с полной точностью. Создано денормализованное значение.
FE_ALL_EXCEPT Побитовая операция ИЛИ для всех поддерживаемых исключений с плавающей запятой.

Аргумент excepts может быть равен нулю. Кроме того, он может определяться с помощью поддерживаемого макроса исключения с плавающей запятой, а также побитовой операции ИЛИ для нескольких макросов. Действие любого другого значения аргумента не определено.

Чтобы использовать эту функцию, необходимо отключить оптимизацию вычислений с плавающей запятой, которая может препятствовать доступу. Для этого следует использовать директиву #pragma fenv_access(on) перед вызовом. Дополнительные сведения см. в разделе fenv_access.

Требования

Функция Заголовок C Заголовок C++
fegetexceptflag <fenv.h> <cfenv>

Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

Справочник по алфавитной функции
fesetexceptflag