Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FEGETENV(3)	       FreeBSD Library Functions Manual		   FEGETENV(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.

FreeBSD	Ports 11.2		  May 8, 2004		    FreeBSD Ports 11.2

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fegetenv&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help