Floating-point environment
Среда с плавающей точкой - это набор флагов состояния и режимов управления с плавающей точкой, поддерживаемых реализацией. Она является локальной для потока, каждый поток наследует начальное состояние своей среды с плавающей точкой от родительского потока. Операции с плавающей точкой изменяют флаги состояния для указания аномальных результатов или вспомогательной информации. Состояние режимов управления с плавающей точкой влияет на результаты некоторых операций с плавающей точкой.
Доступ к окружению чисел с плавающей точкой и его модификация имеют смысл только тогда, когда
#pragma STDC FENV_ACCESS
установлен в значение
ON
. В противном случае реализация может предполагать, что режимы управления числами с плавающей точкой всегда являются стандартными, а флаги состояния чисел с плавающей точкой никогда не проверяются и не изменяются. На практике немногие современные компиляторы, такие как HP aCC, Oracle Studio и IBM XL, поддерживают
#pragma
явным образом, но большинство компиляторов тем не менее позволяют осуществлять осмысленный доступ к окружению чисел с плавающей точкой.
Содержание |
Типы
|
Определено в заголовочном файле
<fenv.h>
|
|
| fenv_t | Тип, представляющий полное окружение для чисел с плавающей запятой |
| fexcept_t | Тип, представляющий все флаги состояния операций с плавающей запятой в совокупности |
Функции
|
(C99)
|
очищает указанные флаги статуса чисел с плавающей запятой
(функция) |
|
(C99)
|
определяет, какие из указанных флагов статуса чисел с плавающей запятой установлены
(функция) |
|
(C99)
|
возбуждает указанные исключения чисел с плавающей запятой
(функция) |
|
(C99)
(C99)
|
копирует состояние указанных флагов статуса чисел с плавающей запятой из или в окружение чисел с плавающей запятой
(функция) |
|
(C99)
(C99)
|
получает или устанавливает направление округления
(функция) |
|
(C99)
|
сохраняет или восстанавливает текущее окружение чисел с плавающей запятой
(функция) |
|
(C99)
|
сохраняет окружение, очищает все флаги статуса и игнорирует все будущие ошибки
(функция) |
|
(C99)
|
восстанавливает окружение чисел с плавающей запятой и возбуждает ранее возбужденные исключения
(функция) |
Макросы
|
исключения с плавающей запятой
(макроконстанта) |
|
|
направление округления с плавающей запятой
(макроконстанта) |
|
|
(C99)
|
окружение с плавающей запятой по умолчанию
(макроконстанта) |
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
-
- 7.6 Floating-point environment <fenv.h> (стр: TBD)
-
- 7.31.4 Floating-point environment <fenv.h> (стр: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.6 Среда с плавающей запятой <fenv.h> (стр. 150-156)
-
- 7.31.4 Среда с плавающей запятой <fenv.h> (стр. 332)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.6 Среда с плавающей точкой <fenv.h> (стр. 206-215)
-
- 7.31.4 Среда с плавающей точкой <fenv.h> (стр. 455)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.6 Среда с плавающей запятой <fenv.h> (стр. 187-196)
Смотрите также
|
C++ документация
для
Floating-point environment
|