1#define FE_INVALID 1
2#define __FE_DENORM 2
3#define FE_DIVBYZERO 4
4#define FE_OVERFLOW 8
5#define FE_UNDERFLOW 16
6#define FE_INEXACT 32
7
8#define FE_ALL_EXCEPT 63
9
10#define FE_TONEAREST 0
11#define FE_DOWNWARD 0x400
12#define FE_UPWARD 0x800
13#define FE_TOWARDZERO 0xc00
14
15typedef unsigned short fexcept_t;
16
17typedef struct {
18    unsigned short __control_word;
19    unsigned short __unused1;
20    unsigned short __status_word;
21    unsigned short __unused2;
22    unsigned short __tags;
23    unsigned short __unused3;
24    unsigned int __eip;
25    unsigned short __cs_selector;
26    unsigned int __opcode : 11;
27    unsigned int __unused4 : 5;
28    unsigned int __data_offset;
29    unsigned short __data_selector;
30    unsigned short __unused5;
31    unsigned int __mxcsr;
32} fenv_t;
33
34#define FE_DFL_ENV ((const fenv_t*)-1)
35