Forráskód Böngészése

Suppress a compiler warning generated by Clang.

Clang doesn't like it if you bitshift negative numbers, as the behaviour
of it is undefined. Solve this by first shifting, followed by negating.
This was fixed similarly in FreeBSD.
Ed Schouten 9 éve
szülő
commit
62c7361aab
1 módosított fájl, 2 hozzáadás és 2 törlés
  1. 2 2
      src/s_exp2.c

+ 2 - 2
src/s_exp2.c

@@ -375,14 +375,14 @@ exp2(double x)
 	/* Compute r = exp2(y) = exp2t[i0] * p(z - eps[i]). */
 	t = tbl[i0];		/* exp2t[i0] */
 	z -= tbl[i0 + 1];	/* eps[i0]   */
-	if (k >= -1021 << 20)
+	if (k >= -(1021 << 20))
 		INSERT_WORDS(twopk, 0x3ff00000 + k, 0);
 	else
 		INSERT_WORDS(twopkp1000, 0x3ff00000 + k + (1000 << 20), 0);
 	r = t + t * z * (P1 + z * (P2 + z * (P3 + z * (P4 + z * P5))));
 
 	/* Scale by 2**(k>>20). */
-	if(k >= -1021 << 20) {
+	if(k >= -(1021 << 20)) {
 		if (k == 1024 << 20)
 			return (r * 2.0 * 0x1p1023);
 		return (r * twopk);