1#include <fenv.h>
2#include <float.h>
3
4int __flt_rounds() {
5    switch (fegetround()) {
6#ifdef FE_TOWARDZERO
7    case FE_TOWARDZERO:
8        return 0;
9#endif
10    case FE_TONEAREST:
11        return 1;
12#ifdef FE_UPWARD
13    case FE_UPWARD:
14        return 2;
15#endif
16#ifdef FE_DOWNWARD
17    case FE_DOWNWARD:
18        return 3;
19#endif
20    }
21    return -1;
22}
23