1 #include <fenv.h> 2 #define T(t) (t*)0; 3 #define F(t,n) {t *y = &x.n;} 4 #define C(n) switch(n){case n:;} f()5static void f() 6 { 7 T(fenv_t) 8 T(fexcept_t) 9 //FE_DIVBYZERO 10 //FE_INEXACT 11 //FE_INVALID 12 //FE_OVERFLOW 13 //FE_UNDERFLOW 14 C(FE_ALL_EXCEPT) 15 //FE_DOWNWARD 16 //FE_TONEAREST 17 //FE_TOWARDZERO 18 //FE_UPWARD 19 {const fenv_t *c = FE_DFL_ENV;} 20 {int(*p)(int) = feclearexcept;} 21 {int(*p)(fenv_t*) = fegetenv;} 22 {int(*p)(fexcept_t*,int) = fegetexceptflag;} 23 {int(*p)(void) = fegetround;} 24 {int(*p)(fenv_t*) = feholdexcept;} 25 {int(*p)(int) = feraiseexcept;} 26 {int(*p)(const fenv_t*) = fesetenv;} 27 {int(*p)(const fexcept_t*,int) = fesetexceptflag;} 28 {int(*p)(int) = fesetround;} 29 {int(*p)(int) = fetestexcept;} 30 {int(*p)(const fenv_t*) = feupdateenv;} 31 } 32