trusty (3) feupdateenv.3posix.gz

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>

       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 .