feupdateenv
Сохраняет вызванные в данный момент исключения с плавающей запятой, восстанавливает указанное состояние среды вычислений с плавающей запятой, после чего вызывает сохраненные исключения с плавающей запятой.
Синтаксис
int feupdateenv(
const fenv_t* penv
);
Параметры
penv
Указатель на fenv_t
объект, содержащий среду с плавающей запятой, заданную вызовом fegetenv
или feholdexcept
. Вы также можете указать среду с плавающей запятой по умолчанию с помощью FE_DFL_ENV
макроса.
Возвращаемое значение
Если все действия успешно завершены, возвращает 0. В противном случае возвращается ненулевое значение.
Замечания
Функция feupdateenv
выполняет несколько действий. Сначала она автоматически сохраняет вызванные на данный момент флаги состояний исключения с плавающей запятой. Затем эта функция задает текущую среду вычислений с плавающей запятой на основе значения, сохраненного в объекте fenv_t
, на который указывает penv
. Если penv
объект не указан или не FE_DFL_ENV
указывает на допустимый fenv_t
объект, последующее поведение не определено. После этого функция feupdateenv
вызывает локально сохраненные исключения с плавающей запятой.
Чтобы использовать эту функцию, необходимо отключить оптимизацию вычислений с плавающей запятой, которая может препятствовать доступу. Для этого следует использовать директиву #pragma fenv_access(on)
перед вызовом. Дополнительные сведения см. в разделе fenv_access
.
Требования
Function | Заголовок C | Заголовок C++ |
---|---|---|
feupdateenv |
<fenv.h> | <cfenv> |
Дополнительные сведения о совместимости см. в разделе Совместимость.