feupdateenv

현재 발생한 부동 소수점 예외를 저장하고, 지정된 부동 소수점 환경 상태를 복원하고 나서, 저장된 부동 소수점 예외를 발생시킵니다.

구문

int feupdateenv(
   const fenv_t* penv
);

매개 변수

penv
fenv_t 호출에 의해 설정된 부동 소수점 환경을 포함하는 개체에 대한 fegetenv 포인터입니다feholdexcept. 매크로를 사용하여 FE_DFL_ENV 기본 시작 부동 소수점 환경을 지정할 수도 있습니다.

반환 값

모든 작업이 성공적으로 완료되면 0을 반환합니다. 그렇지 않으면 0이 아닌 값을 반환합니다.

설명

feupdateenv 함수는 여러 작업을 수행합니다. 먼저, 현재 발생한 부동 소수점 예외 상태 플래그를 자동 스토리지에 저장합니다. 그런 다음 penv가 가리키는 fenv_t 개체에 저장된 값에 따라 현재 부동 소수점 환경을 설정합니다. penv 유효한 fenv_t 개체가 FE_DFL_ENV 아니거나 가리키지 않으면 후속 동작이 정의되지 않습니다. 마지막으로 feupdateenv는 로컬에 저장된 부동 소수점 예외를 발생시킵니다.

이 함수를 사용하려면 호출 전에 #pragma fenv_access(on) 지시문을 사용하여 액세스를 방지할 수 있는 부동 소수점 최적화를 꺼야 합니다. 자세한 내용은 fenv_access를 참조하세요.

요구 사항

함수 C 헤더 C++ 헤더
feupdateenv <fenv.h> <cfenv>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

참고 항목

fegetenv
feclearexcept
feholdexcept
fesetexceptflag