| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 #include "libm.h" | 
|  | 2 | 
|  | 3 #if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 | 
|  | 4 int __fpclassifyl(long double x) | 
|  | 5 { | 
|  | 6         return __fpclassify(x); | 
|  | 7 } | 
|  | 8 #elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 | 
|  | 9 int __fpclassifyl(long double x) | 
|  | 10 { | 
|  | 11         union ldshape u = {x}; | 
|  | 12         int e = u.i.se & 0x7fff; | 
|  | 13         int msb = u.i.m>>63; | 
|  | 14         if (!e && !msb) | 
|  | 15                 return u.i.m ? FP_SUBNORMAL : FP_ZERO; | 
|  | 16         if (!msb) | 
|  | 17                 return FP_NAN; | 
|  | 18         if (e == 0x7fff) | 
|  | 19                 return u.i.m << 1 ? FP_NAN : FP_INFINITE; | 
|  | 20         return FP_NORMAL; | 
|  | 21 } | 
|  | 22 #elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 | 
|  | 23 int __fpclassifyl(long double x) | 
|  | 24 { | 
|  | 25         union ldshape u = {x}; | 
|  | 26         int e = u.i.se & 0x7fff; | 
|  | 27         u.i.se = 0; | 
|  | 28         if (!e) | 
|  | 29                 return u.i2.lo | u.i2.hi ? FP_SUBNORMAL : FP_ZERO; | 
|  | 30         if (e == 0x7fff) | 
|  | 31                 return u.i2.lo | u.i2.hi ? FP_NAN : FP_INFINITE; | 
|  | 32         return FP_NORMAL; | 
|  | 33 } | 
|  | 34 #endif | 
| OLD | NEW | 
|---|