prefer (uint)-1>>1 to ~((uint)1<<n), remove some unnecessary ()
[libm] / src / math / copysignf.c
index bf6e1c1..47ab37e 100644 (file)
@@ -5,7 +5,7 @@ float copysignf(float x, float y) {
 
        ux.value = x;
        uy.value = y;
-       ux.bits &= ~(uint32_t)1<<31;
+       ux.bits &= (uint32_t)-1>>1;
        ux.bits |= uy.bits & (uint32_t)1<<31;
        return ux.value;
 }