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


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>

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

См. также

fegetenv
feclearexcept
feholdexcept
fesetexceptflag