ni...@lysator.liu.se (Niels Möller) writes:

> --- a/tests/mpn/t-div.c       Wed Apr 25 07:38:14 2018 +0200
> +++ b/tests/mpn/t-div.c       Wed Apr 25 22:19:17 2018 +0200
> @@ -445,6 +445,7 @@ main (int argc, char **argv)
>             alloc = itch + 1;
>           }
>         scratch[itch] = ran;
> +       MPN_COPY (qp, junkp, nn - dn + 1);
>         mpn_div_q (qp, np, nn, dup, dn, scratch);
>         ASSERT_ALWAYS (ran == scratch[itch]);
>         ASSERT_ALWAYS (qp[-1] == qran0);  ASSERT_ALWAYS (qp[nn - dn + 1] == 
> qran1);

Committed.

> *** /tmp/extdiff.0aBNfO/gmp.765c2c27523b/mpn/generic/div_q.c  2018-04-25 
> 21:55:51.457769871 +0200
> --- /home/nisse/hack/gmp/mpn/generic/div_q.c  2018-04-25 21:18:01.516501993 
> +0200
> *************** mpn_div_q (mp_ptr qp,
> *** 171,184 ****
>         if (cy == 0)
>           qp[qn - 1] = qh;
> !       else if (UNLIKELY (qh != 0))
> !         {
> !           /* This happens only when the quotient is close to B^n and
> !              mpn_*_divappr_q returned B^n.  */
> !           mp_size_t i, n;
> !           n = new_nn - dn;
> !           for (i = 0; i < n; i++)
> !             qp[i] = GMP_NUMB_MAX;
> !           qh = 0;           /* currently ignored */
> !         }
>       }
>         else  /* divisor is already normalised */
> --- 171,176 ----
>         if (cy == 0)
>           qp[qn - 1] = qh;
> !       else
> !         ASSERT_ALWAYS (qh == 0);
>       }
>         else  /* divisor is already normalised */

And committed this first part (but with ASSERT instead of ASSERT_ALWAYS);.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.
_______________________________________________
gmp-devel mailing list
gmp-devel@gmplib.org
https://gmplib.org/mailman/listinfo/gmp-devel

Reply via email to