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

FreeBSD Manual Pages

  
 
  

home | help
FECLEAREXCEPT(3)	 BSD Library Functions Manual	      FECLEAREXCEPT(3)

NAME
     feclearexcept, fegetexceptflag, feraiseexcept, fesetexceptflag,
     fetestexcept -- floating-point exception flag manipulation

LIBRARY
     Math Library (libm, -lm)

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

     int
     feclearexcept(int excepts);

     int
     fegetexceptflag(fexcept_t *flagp, int excepts);

     int
     feraiseexcept(int excepts);

     int
     fesetexceptflag(const fexcept_t *flagp, int excepts);

     int
     fetestexcept(int excepts);

DESCRIPTION
     The feclearexcept() routine clears	the floating-point exception flags
     specified by excepts, whereas feraiseexcept() raises the specified	excep-
     tions.  Raising an	exception causes the corresponding flag	to be set, and
     a SIGFPE is delivered to the process if the exception is unmasked.

     The fetestexcept()	function determines which flags	are currently set, of
     those specified by	excepts.

     The fegetexceptflag() function stores the state of	the exception flags
     specified in excepts in the opaque	object pointed to by flagp.  Simi-
     larly, fesetexceptflag() changes the specified exception flags to reflect
     the state stored in the object pointed to by flagp.  Note that the	flags
     restored with fesetexceptflag() must be a (not necessarily	proper)	subset
     of	the flags recorded by a	prior call to fegetexceptflag().

     For all of	these functions, the possible types of exceptions include
     those described in	fenv(3).  Some architectures may define	other types of
     floating-point exceptions.

IMPLEMENTATION NOTES
     On	some architectures, raising an overflow	or underflow exception also
     causes an inexact exception to be raised.	In these cases,	the overflow
     or	underflow will be raised first.

     The fegetexceptflag() and fesetexceptflag() routines are preferred	to
     fetestexcept() and	feraiseexcept(), respectively, for saving and restor-
     ing exception flags.  The latter do not re-raise exceptions and may pre-
     serve architecture-specific information such as addresses where excep-
     tions occurred.

RETURN VALUES
     The feclearexcept(), fegetexceptflag(), feraiseexcept(), and
     fesetexceptflag() functions return	0 upon success,	and non-zero other-
     wise.  The	fetestexcept() function	returns	the bitwise OR of the values
     of	the current exception flags that were requested.

SEE ALSO
     sigaction(2), feholdexcept(3), fenv(3), feupdateenv(3), fpgetsticky(3),
     fpresetsticky(3)

STANDARDS
     The feclearexcept(), fegetexceptflag(), feraiseexcept(),
     fesetexceptflag(),	and fetestexcept() routines conform to ISO/IEC
     9899:1999 ("ISO C99").

HISTORY
     These functions first appeared in FreeBSD 5.3.

BSD				  May 8, 2004				   BSD

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

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

home | help