From: nsz Date: Sun, 4 Mar 2012 01:39:41 +0000 (+0100) Subject: fix bit masking hack in fpclassifyl and copysignl X-Git-Url: http://nsz.repo.hu/git/?p=libm;a=commitdiff_plain;h=0591f96c4fada924567b9583a9462dbf0bf62ae2;hp=476985a400cfde55990ae5ce309f8041cc30c887 fix bit masking hack in fpclassifyl and copysignl --- diff --git a/src/math/__fpclassifyl.c b/src/math/__fpclassifyl.c index daeeaab..308dc21 100644 --- a/src/math/__fpclassifyl.c +++ b/src/math/__fpclassifyl.c @@ -10,7 +10,7 @@ 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<<63) ? FP_NAN : FP_INFINITE; return u.bits.m & (uint64_t)1<<63 ? FP_NORMAL : FP_NAN; } #elif LD128 diff --git a/src/math/copysign.c b/src/math/copysign.c index 814d80c..04e1869 100644 --- a/src/math/copysign.c +++ b/src/math/copysign.c @@ -5,7 +5,7 @@ double copysign(double x, double y) { ux.value = x; uy.value = y; - ux.bits &= ~(uint64_t)1<<63; + ux.bits &= ~((uint64_t)1<<63); ux.bits |= uy.bits & (uint64_t)1<<63; return ux.value; }