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 .