Provided by: manpages-posix-dev_2.16-1_all bug

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 .

IEEE/The Open Group                                   2003                                        FEUPDATEENV(P)