prefer (uint)-1>>1 to ~((uint)1<<n), remove some unnecessary ()
[libm] / src / math / copysign.c
index 04e1869..038b8b4 100644 (file)
@@ -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>>1;
        ux.bits |= uy.bits & (uint64_t)1<<63;
        return ux.value;
 }