#include #include int __fpclassifyf(float x) { union { float f; uint32_t i; } u = {x}; int e = u.i >> 23 & 0xff; if (!e) return u.i << 1 ? FP_SUBNORMAL : FP_ZERO; if (e == 0xff) return u.i << 9 ? FP_NAN : FP_INFINITE; return FP_NORMAL; }