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 
28 typedef unsigned fexcept_t;
29 typedef double fenv_t;
30 
31 #define FE_DFL_ENV ((const fenv_t *)-1)
32