#ifndef COMMON_HEADERS_H #define COMMON_HEADERS_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define STORE_FP_EXCEPTIONS(flagp, exceptions_array) \ fegetexceptflag(&flagp, FE_OVERFLOW | FE_UNDERFLOW | FE_DIVBYZERO | FE_INVALID | __FE_DENORM); \ exceptions_array[FE_INVALID] += ((flagp & FE_INVALID)); \ exceptions_array[__FE_DENORM] += ((flagp & __FE_DENORM) >> 1); \ exceptions_array[FE_DIVBYZERO] += ((flagp & FE_DIVBYZERO) >> 2); \ exceptions_array[FE_OVERFLOW] += ((flagp & FE_OVERFLOW) >> 3); \ exceptions_array[FE_UNDERFLOW] += ((flagp & FE_UNDERFLOW) >> 4); \ feclearexcept(FE_ALL_EXCEPT); #endif