fp_exception_value()

Получить значение текущих регистров исключений

Прототип:

#include <fpstatus.h>
int fp_exception_value( int mask );

Аргументы:

mask
Маска, биты которой показывают, значения какх регистров требуется получить. Доступные биты:
_FP_EXC_INVALID
_FP_EXC_DIVZERO
_FP_EXC_OVERFLOW
_FP_EXC_UNDERFLOW
_FP_EXC_INEXACT
_FP_EXC_DENORMAL

Библиотека:

libm

Описание:

Функция fp_exception_value() возвращает значение текущих регистров исключений. Установленные биты указывают на то, что некоторое исключение произошло. Их отсутствие говорит об обратном.

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

Значение текущих регистров исключений, на основании значений из <fpstatus.h>.


Note: Данная функция не возвращает специальное значение для того, чтобы установить, произошла ли ошибка. Если вам необходимо проверить, возникла ли ошибка, установите errno в 0, вызовите функцию, и затем снова проверьте errno.

Примеры:

#include <fpstatus.h>
int main( void )
{
int ret;
/* Проверка на то, установила ли операция (но не обязательно
* просигнализировала, в зависимости от маски исключений) бит
* деления на ноль: */
if ( fp_exception_value( _FP_EXC_DIVZERO ) & _FP_EXC_DIVZERO )
printf( "Division by zero has occurred \n" );
else
printf( "Division by zero has not occurred \n" );
return (0);
}

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

fp_precision(), fp_rounding(), fp_exception_mask(), fp_setenv()




Предыдущий раздел: Описание API математической библиотеки