1#define FE_TONEAREST	0
 2#define FE_TOWARDZERO	1
 3#define FE_UPWARD	2
 4#define FE_DOWNWARD	3
 5
 6#define FE_INEXACT	0x02000000
 7#define FE_DIVBYZERO	0x04000000
 8#define FE_UNDERFLOW	0x08000000
 9#define FE_OVERFLOW	0x10000000
10#define FE_INVALID	0x20000000
11
12#define FE_ALL_EXCEPT	0x3e000000
13
14#ifdef _GNU_SOURCE
15#define FE_INVALID_SNAN		0x01000000
16#define FE_INVALID_ISI		0x00800000
17#define FE_INVALID_IDI		0x00400000
18#define FE_INVALID_ZDZ		0x00200000
19#define FE_INVALID_IMZ		0x00100000
20#define FE_INVALID_COMPARE	0x00080000
21#define FE_INVALID_SOFTWARE	0x00000400
22#define FE_INVALID_SQRT		0x00000200
23#define FE_INVALID_INTEGER_CONVERSION	0x00000100
24
25#define FE_ALL_INVALID		0x01f80700
26#endif
27
28typedef unsigned fexcept_t;
29typedef double fenv_t;
30
31#define FE_DFL_ENV ((const fenv_t *)-1)