X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmath%2F__fpclassifyl.c;h=a5ad36f2c2196e76a5b0a287b3c759bb298978c7;hb=1eb8d023d8b5c286908af676cb405a2ba598d286;hp=daeeaab0b75e42b9659025376a5ece7684c64045;hpb=fc04675a09587031d5daebcb877b73976890b71d;p=libm diff --git a/src/math/__fpclassifyl.c b/src/math/__fpclassifyl.c index daeeaab..a5ad36f 100644 --- a/src/math/__fpclassifyl.c +++ b/src/math/__fpclassifyl.c @@ -1,8 +1,8 @@ #include "libm.h" -#if LD64 +#if LDBL_MANT_DIG == 53 && LDBL_MAX_EXP == 1024 -#elif LD80 +#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 int __fpclassifyl(long double x) { union ldshape u = { x }; @@ -10,10 +10,10 @@ int __fpclassifyl(long double x) if (!e) return u.bits.m ? FP_SUBNORMAL : FP_ZERO; if (e == 0x7fff) - return u.bits.m & ~(uint64_t)1<<63 ? FP_NAN : FP_INFINITE; + return u.bits.m & (uint64_t)-1>>1 ? FP_NAN : FP_INFINITE; return u.bits.m & (uint64_t)1<<63 ? FP_NORMAL : FP_NAN; } -#elif LD128 +#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 int __fpclassifyl(long double x) { union ldshape u = { x };