IPnom Home • Manuals • FreeBSD

 FreeBSD Man Pages

Man Sections:Commands (1)System Calls (2)Library Functions (3)Device Drivers (4)File Formats (5)Miscellaneous (7)System Utilities (8)
Keyword Live Search (10 results max):
 Type in part of a command in the search box.
 


feholdexcept(3)

NAME

     fegetenv, feholdexcept, fesetenv, feupdateenv -- floating-point environ-
     ment save and restore


LIBRARY

     Math Library (libm, -lm)


SYNOPSIS

     #include <fenv.h>
     #pragma STDC FENV_ACCESS ON

     int
     fegetenv(fenv_t *envp);

     int
     feholdexcept(fenv_t *envp);

     int
     fesetenv(const fenv_t *envp);

     int
     feupdateenv(const fenv_t *envp);


DESCRIPTION

     The floating-point environment includes exception flags and masks, the
     current rounding mode, and other architecture-specific settings.  How-
     ever, it does not include the floating-point register file.

     The fegetenv() function stores the current floating-point environment in
     the object pointed to by envp, whereas feholdexcept() saves the current
     environment, then clears all exception flags and masks all floating-point
     exceptions.

     The fesetenv() function restores a previously saved environment.  The
     feupdateenv() function restores a saved environment as well, but it also
     raises any exceptions that were set in the environment it replaces.

     The feholdexcept() function is often used with feupdateenv() or
     fesetenv() to suppress spurious exceptions that occur as a result of
     intermediate computations.  An example in fenv(3) demonstrates how to do
     this.


RETURN VALUES

     The fegetenv(), feholdexcept(), fesetenv(), and feupdateenv() functions
     return 0 if they succeed, and non-zero otherwise.


SEE ALSO

     feclearexcept(3), fenv(3), feraiseexcept(3), fesetenv(3),
     fetestexcept(3), fpgetmask(3), fpgetprec(3), fpsetmask(3), fpsetprec(3)


STANDARDS

     The fegetenv(), feholdexcept(), fesetenv(), and feupdateenv() functions
     conform to ISO/IEC 9899:1999 (``ISO C99'').


HISTORY

     These routines first appeared in FreeBSD 5.3.


SPONSORED LINKS




Man(1) output converted with man2html , sed , awk