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

FreeBSD Manual Pages

  
 
  

home | help
FECLEAREXCEPT(3)	    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 ex-
       ceptions.  Raising an exception causes the  corresponding  flag	to  be
       set,  and  a SIGFPE is delivered	to the process if the exception	is un-
       masked.

       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 re-
       flect 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
       restoring exception flags.  The latter do not re-raise  exceptions  and
       may  preserve architecture-specific information such as addresses where
       exceptions 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.

FreeBSD	15.0			  May 8, 2004		      FECLEAREXCEPT(3)

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

home | help