This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Fix make check build warnings in libm
On Tue, Feb 19, 2013 at 6:44 AM, Siddhesh Poyarekar <siddhesh@redhat.com> wrote:
> OK, here's v2 then:
>
> * math/atest-exp.c (exp_mpn): Remove ROUND.
> * math/atest-exp2.c (exp_mpn): Likewise.
> * math/atest-sincos.c (sincosx_mpn): Remove ROUND and CHK.
>
> diff --git a/math/atest-exp.c b/math/atest-exp.c
> index 2678e74..d76b912 100644
> --- a/math/atest-exp.c
> +++ b/math/atest-exp.c
> @@ -61,7 +61,7 @@ exp_mpn (mp1 ex, mp1 x)
> unsigned n;
> mp1 xp;
> mp2 tmp;
> - mp_limb_t chk, round;
> + mp_limb_t chk;
> mp1 tol;
>
> memset (xp, 0, sizeof (mp1));
> @@ -79,7 +79,7 @@ exp_mpn (mp1 ex, mp1 x)
> mpn_mul_n (tmp, xp, x, SZ);
> assert (tmp[SZ * 2 - 1] == 0);
> if (n > 0)
> - round = mpn_divmod_1 (xp, tmp + FRAC / mpbpl, SZ, n);
> + mpn_divmod_1 (xp, tmp + FRAC / mpbpl, SZ, n);
> chk = mpn_add_n (ex, ex, xp, SZ);
> assert (chk == 0);
> n++;
> diff --git a/math/atest-exp2.c b/math/atest-exp2.c
> index b05d43b..20836ca 100644
> --- a/math/atest-exp2.c
> +++ b/math/atest-exp2.c
> @@ -102,7 +102,7 @@ exp_mpn (mp1 ex, mp1 x)
> unsigned int n;
> mp1 xp;
> mp2 tmp;
> - mp_limb_t chk, round;
> + mp_limb_t chk;
> mp1 tol;
>
> memset (xp, 0, sizeof (mp1));
> @@ -120,7 +120,7 @@ exp_mpn (mp1 ex, mp1 x)
> mpn_mul_n (tmp, xp, x, SZ);
> assert(tmp[SZ * 2 - 1] == 0);
> if (n > 0)
> - round = mpn_divmod_1 (xp, tmp + FRAC / mpbpl, SZ, n);
> + mpn_divmod_1 (xp, tmp + FRAC / mpbpl, SZ, n);
> chk = mpn_add_n (ex, ex, xp, SZ);
> assert (chk == 0);
> ++n;
> diff --git a/math/atest-sincos.c b/math/atest-sincos.c
> index bea157c..313bccb 100644
> --- a/math/atest-sincos.c
> +++ b/math/atest-sincos.c
> @@ -64,7 +64,6 @@ sincosx_mpn (mp1 si, mp1 co, mp1 xx, mp1 ix)
> int i;
> mp2 s[4], c[4];
> mp1 tmp, x;
> - mp_limb_t chk, round;
>
> if (ix == NULL)
> {
> @@ -79,34 +78,38 @@ sincosx_mpn (mp1 si, mp1 co, mp1 xx, mp1 ix)
> for (i = 0; i < 1 << N; i++)
> {
> #define add_shift_mulh(d,x,s1,s2,sh,n) \
> - /* d = (n ? -1 : 1) * (s1 + (s2>>sh)) * x / (1>>N); */ \
> do { \
> if (s2 != NULL) { \
> if (sh > 0) { \
> assert (sh < mpbpl); \
> mpn_lshift (tmp, s1, SZ, sh); \
> - chk = (n ? mpn_sub_n : mpn_add_n)(tmp,tmp,s2+FRAC/mpbpl,SZ); \
> - } else \
> - chk = (n ? mpn_sub_n : mpn_add_n)(tmp,s1,s2+FRAC/mpbpl,SZ); \
> - /* assert(chk == 0); */ \
> + if (n) \
> + mpn_sub_n (tmp,tmp,s2+FRAC/mpbpl,SZ); \
> + else \
> + mpn_add_n (tmp,tmp,s2+FRAC/mpbpl,SZ); \
> + } else { \
> + if (n) \
> + mpn_sub_n (tmp,s1,s2+FRAC/mpbpl,SZ); \
> + else \
> + mpn_add_n (tmp,s1,s2+FRAC/mpbpl,SZ); \
> + } \
> mpn_mul_n(d,tmp,x,SZ); \
> } else \
> mpn_mul_n(d,s1,x,SZ); \
> - /* assert(d[SZ*2-1] == 0); */ \
> assert(N+sh < mpbpl); \
> if (N+sh > 0) mpn_rshift(d,d,2*SZ,N+sh); \
> } while(0)
> #define summ(d,ss,s,n) \
> - /* d = ss +/- (s[0]+2*s[1]+2*s[2]+s[3])/6; */ \
> do { \
> - chk = mpn_add_n(tmp,s[1]+FRAC/mpbpl,s[2]+FRAC/mpbpl,SZ); \
> + mpn_add_n(tmp,s[1]+FRAC/mpbpl,s[2]+FRAC/mpbpl,SZ); \
> mpn_lshift(tmp,tmp,SZ,1); \
> - chk |= mpn_add_n(tmp,tmp,s[0]+FRAC/mpbpl,SZ); \
> - chk |= mpn_add_n(tmp,tmp,s[3]+FRAC/mpbpl,SZ); \
> - round = mpn_divmod_1(tmp,tmp,SZ,6); \
> - /* chk |= mpn_add_1(tmp,tmp,SZ, (round > 3) ); */ \
> - chk |= (n ? mpn_sub_n : mpn_add_n)(d,ss,tmp,SZ); \
> - /* assert(chk == 0); */ \
> + mpn_add_n(tmp,tmp,s[0]+FRAC/mpbpl,SZ); \
> + mpn_add_n(tmp,tmp,s[3]+FRAC/mpbpl,SZ); \
> + mpn_divmod_1(tmp,tmp,SZ,6); \
> + if (n) \
> + mpn_sub_n (d,ss,tmp,SZ); \
> + else \
> + mpn_add_n (d,ss,tmp,SZ); \
> } while (0)
>
> add_shift_mulh (s[0], x, co, NULL, 0, 0); /* s0 = h * c; */
This looks good to me.
Cheers,
Carlos.