Man Linux: Main Page and Category List

NAME

       feupdateenv - update floating-point environment

SYNOPSIS

       #include <fenv.h>

       int feupdateenv(const fenv_t *envp);

DESCRIPTION

       The  feupdateenv()  function shall attempt to save the currently raised
       floating-point exceptions in its automatic storage, attempt to  install
       the  floating-point environment represented by the object pointed to by
       envp, and then attempt to raise the  saved  floating-point  exceptions.
       The  argument  envp  shall  point  to  an  object  set  by  a  call  to
       feholdexcept() or fegetenv(), or  equal  a  floating-point  environment
       macro.

RETURN VALUE

       The feupdateenv() function shall return a zero value if and only if all
       the required actions were successfully carried out.

ERRORS

       No errors are defined.

       The following sections are informative.

EXAMPLES

       The following example shows sample  code  to  hide  spurious  underflow
       floating-point exceptions:

              #include <fenv.h>
              double f(double x)
              {
                  #pragma STDC FENV_ACCESS ON
                  double result;
                  fenv_t save_env;
                  feholdexcept(&save_env);
                  // compute result
                  if (/* test spurious underflow */)
                  feclearexcept(FE_UNDERFLOW);
                  feupdateenv(&save_env);
                  return result;
              }

APPLICATION USAGE

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       fegetenv()   ,   feholdexcept()   ,  the  Base  Definitions  volume  of
       IEEE Std 1003.1-2001, <fenv.h>

COPYRIGHT

       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the  referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .