Namespaces
Variants

Floating-point environment

From cppreference.net

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

Доступ к окружению чисел с плавающей точкой и его модификация имеют смысл только тогда, когда #pragma STDC FENV_ACCESS установлен в значение ON . В противном случае реализация может предполагать, что режимы управления числами с плавающей точкой всегда являются стандартными, а флаги состояния чисел с плавающей точкой никогда не проверяются и не изменяются. На практике немногие современные компиляторы, такие как HP aCC, Oracle Studio и IBM XL, поддерживают #pragma явным образом, но большинство компиляторов тем не менее позволяют осуществлять осмысленный доступ к окружению чисел с плавающей точкой.

Содержание

Типы

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

Функции

очищает указанные флаги статуса чисел с плавающей запятой
(функция)
определяет, какие из указанных флагов статуса чисел с плавающей запятой установлены
(функция)
возбуждает указанные исключения чисел с плавающей запятой
(функция)
копирует состояние указанных флагов статуса чисел с плавающей запятой из или в окружение чисел с плавающей запятой
(функция)
получает или устанавливает направление округления
(функция)
сохраняет или восстанавливает текущее окружение чисел с плавающей запятой
(функция)
сохраняет окружение, очищает все флаги статуса и игнорирует все будущие ошибки
(функция)
восстанавливает окружение чисел с плавающей запятой и возбуждает ранее возбужденные исключения
(функция)

Макросы

исключения с плавающей запятой
(макроконстанта)
направление округления с плавающей запятой
(макроконстанта)
окружение с плавающей запятой по умолчанию
(макроконстанта)

Ссылки

  • Стандарт 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