Files
musl/src/math/__fpclassify.c

15 lines
300 B
C
Raw Normal View History

2011-02-12 00:22:29 -05:00
#include <stdint.h>
#include <math.h>
int __fpclassify(double __x)
{
union {
double __d;
__uint64_t __i;
} __y = { __x };
int __ee = __y.__i>>52 & 0x7ff;
if (!__ee) return __y.__i<<1 ? FP_SUBNORMAL : FP_ZERO;
if (__ee==0x7ff) return __y.__i<<12 ? FP_NAN : FP_INFINITE;
return FP_NORMAL;
}