diff --git a/src/libm/e_atan2.c b/src/libm/e_atan2.c index 7c089f09b..32b972570 100644 --- a/src/libm/e_atan2.c +++ b/src/libm/e_atan2.c @@ -57,8 +57,8 @@ double attribute_hidden __ieee754_atan2(double y, double x) ix = hx&0x7fffffff; EXTRACT_WORDS(hy,ly,y); iy = hy&0x7fffffff; - if(((ix|((lx|-lx)>>31))>0x7ff00000)|| - ((iy|((ly|-ly)>>31))>0x7ff00000)) /* x or y is NaN */ + if(((ix|((lx|-(int32_t)lx)>>31))>0x7ff00000)|| + ((iy|((ly|-(int32_t)ly)>>31))>0x7ff00000)) /* x or y is NaN */ return x+y; if(((hx-0x3ff00000)|lx)==0) return atan(y); /* x=1.0 */ m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */ diff --git a/src/libm/e_fmod.c b/src/libm/e_fmod.c index a6f1b675f..fd8bacb2b 100644 --- a/src/libm/e_fmod.c +++ b/src/libm/e_fmod.c @@ -33,7 +33,7 @@ double attribute_hidden __ieee754_fmod(double x, double y) /* purge off exception values */ if((hy|ly)==0||(hx>=0x7ff00000)|| /* y=0,or x not finite */ - ((hy|((ly|-ly)>>31))>0x7ff00000)) /* or y is NaN */ + ((hy|((ly|-(int32_t)ly)>>31))>0x7ff00000)) /* or y is NaN */ return (x*y)/(x*y); if(hx<=hy) { if((hx