Chapter Contents |
Previous |
Next |
feupdateenv |
Portability: | C99 |
SYNOPSIS | |
DESCRIPTION | |
RETURN VALUE | |
CAUTIONS | |
USAGE NOTES | |
RELATED FUNCTIONS | |
SEE ALSO |
SYNOPSIS |
#include <fenv.h> void feupdateenv(const fenv_t * envp);
DESCRIPTION |
feupdateenv
temporarily
saves the floating-point status from the current floating-point environment.
It then establishes a new floating-point environment from the location addressed
by envp
, and raises the exceptions saved from
the previous environment. An exception is raised by setting the exception
bit in the floating-point status. If trapping is enabled for that exception,
the exception will be trapped and a signal will be raised. If multiple exceptions
are raised, the order in which they are raised is undefined, except that overflow
or underflow
must
precede inexact
.
RETURN VALUE |
feupdateenv
has no return
value.
CAUTIONS |
feupdateenv
returns -1
when called from a function whose default floating-point format is hexadecimal,
that is, one compiled without the bfp
option.
A program which calls feupdateenv
must
use the standard FENV_ACCESS pragma in an enclosing scope, or the effects
are unpredictable.
USAGE NOTES |
A typical scenario for use of this function would be to
call feholdexcept
to reset the exception flags
and prevent trapping, then to perform a calculation with assurance that trapping
will not occur, and then to call feupdateenv
to restore the previous environment, possibly trapping for exceptions which
occurred during the calculation.
RELATED FUNCTIONS |
fegetenv
, feholdexcept
,
fesetenv
SEE ALSO |
"Mathematical Functions" in Chapter 2, "Function Categories"
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2004 by SAS Institute Inc., Cary, NC, USA. All rights reserved.