1 /* ----------------------------------------------------------------------------
3 * ----------------------------------------------------------------------------
4 * Public Domain C Library - http://pdclib.sourceforge.net
5 * This code is Public Domain. Use, modify, and redistribute at will.
6 * ----------------------------------------------------------------------------
7 * Floating-point environment
8 * --------------------------------------------------------------------------*/
11 #define _FENV_H _FENV_H
13 /* TODO: Documentation */
15 /* ----------------------------------------------------------------------------
17 * --------------------------------------------------------------------------*/
19 #define FE_DIVBYZERO /* TODO - to __intern.h / __personality.h? */
20 #define FE_INEXACT /* TODO - to __intern.h / __personality.h? */
21 #define FE_INVALID /* TODO - to __intern.h / __personality.h? */
22 #define FE_OVERFLOW /* TODO - to __intern.h / __personality.h? */
23 #define FE_UNDERFLOW /* TODO - to __intern.h / __personality.h? */
24 #define FE_ALL_EXCEPT /* TODO - to __intern.h / __personality.h? */
26 #define FE_DOWNWARD /* TODO - to __intern.h / __personality.h? */
27 #define FE_TONEAREST /* TODO - to __intern.h / __personality.h? */
28 #define FE_TOWARDZERO /* TODO - to __intern.h / __personality.h? */
29 #define FE_UPWARD /* TODO - to __intern.h / __personality.h? */
31 #define FE_DFL_ENV /* TODO - to __intern.h / __personality.h? */
33 /* ----------------------------------------------------------------------------
35 * --------------------------------------------------------------------------*/
37 typedef fenv_t; /* TODO - to __intern.h / __personality.h? */
38 typedef fexcept_t; /* TODO - to __intern.h / __personality.h? */
40 /* ----------------------------------------------------------------------------
42 * --------------------------------------------------------------------------*/
44 int feclearexcept( int exceptions );
45 int fegetexceptflag( fexcept_t * flags, int exceptions );
46 int feraiseexcept( int exceptions );
47 int fesetexceptflag( const fexcept_t * flags, int exceptions );
48 int fetestexcept( int exceptions );
50 int fegetround( void );
51 int fesetround( int mode );
53 int fegetenv( fenv_t * environment );
54 int feholdexcept( fenv_t * environment );
55 int fesetenv( const fenv_t * environment );
56 int feupdateenv( const fenv_t * environment );