#include "libm.h"

#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024
int __fpclassifyl(long double x) { return __fpclassify(x); }
#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384
int __fpclassifyl(long double x) {
  union ldshape u = {x};
  int e = u.i.se & 0x7fff;
  int msb = u.i.m >> 63;
  if (!e && !msb)
    return u.i.m ? FP_SUBNORMAL : FP_ZERO;
  if (!msb)
    return FP_NAN;
  if (e == 0x7fff)
    return u.i.m << 1 ? FP_NAN : FP_INFINITE;
  return FP_NORMAL;
}
#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384
int __fpclassifyl(long double x) {
  union ldshape u = {x};
  int e = u.i.se & 0x7fff;
  u.i.se = 0;
  if (!e)
    return u.i2.lo | u.i2.hi ? FP_SUBNORMAL : FP_ZERO;
  if (e == 0x7fff)
    return u.i2.lo | u.i2.hi ? FP_NAN : FP_INFINITE;
  return FP_NORMAL;
}
#endif
