1*c9945492SAndroid Build Coastguard Worker #include <math.h> 2*c9945492SAndroid Build Coastguard Worker #include <stdint.h> 3*c9945492SAndroid Build Coastguard Worker __fpclassifyf(float x)4*c9945492SAndroid Build Coastguard Workerint __fpclassifyf(float x) 5*c9945492SAndroid Build Coastguard Worker { 6*c9945492SAndroid Build Coastguard Worker union {float f; uint32_t i;} u = {x}; 7*c9945492SAndroid Build Coastguard Worker int e = u.i>>23 & 0xff; 8*c9945492SAndroid Build Coastguard Worker if (!e) return u.i<<1 ? FP_SUBNORMAL : FP_ZERO; 9*c9945492SAndroid Build Coastguard Worker if (e==0xff) return u.i<<9 ? FP_NAN : FP_INFINITE; 10*c9945492SAndroid Build Coastguard Worker return FP_NORMAL; 11*c9945492SAndroid Build Coastguard Worker } 12