Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
62c7361aab
1 değiştirilmiş dosya ile 2 ekleme ve 2 silme
  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);