X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/ddcb6aa7914ebf7ccb2f82baba4451a954abf3d4..52cdaca9b7b8e15871a3de8b5b571c18dcc580f8:/mp-arith.c diff --git a/mp-arith.c b/mp-arith.c index 96fdeb8..82fda15 100644 --- a/mp-arith.c +++ b/mp-arith.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: mp-arith.c,v 1.8 2000/10/08 12:02:21 mdw Exp $ + * $Id: mp-arith.c,v 1.9 2000/10/08 15:48:35 mdw Exp $ * * Basic arithmetic on multiprecision integers * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: mp-arith.c,v $ + * Revision 1.9 2000/10/08 15:48:35 mdw + * Rename Karatsuba constants now that we have @gfx_kmul@ too. + * * Revision 1.8 2000/10/08 12:02:21 mdw * Use @MP_EQ@ instead of @MP_CMP@. * @@ -236,14 +239,14 @@ mp *mp_mul(mp *d, mp *a, mp *b) a = MP_COPY(a); b = MP_COPY(b); - if (MP_LEN(a) <= KARATSUBA_CUTOFF || MP_LEN(b) <= KARATSUBA_CUTOFF) { + if (MP_LEN(a) <= MPK_THRESH || MP_LEN(b) <= MPK_THRESH) { MP_DEST(d, MP_LEN(a) + MP_LEN(b), a->f | b->f | MP_UNDEF); mpx_umul(d->v, d->vl, a->v, a->vl, b->v, b->vl); } else { size_t m = 2 * MAX(MP_LEN(a), MP_LEN(b)) + 2; mpw *s; MP_DEST(d, m, a->f | b->f | MP_UNDEF); - m += KARATSUBA_SLOP; + m += MPK_SLOP; s = mpalloc(d->a, m); mpx_kmul(d->v, d->vl, a->v, a->vl, b->v, b->vl, s, s + m); mpfree(d->a, s); @@ -270,9 +273,9 @@ mp *mp_sqr(mp *d, mp *a) a = MP_COPY(a); MP_DEST(d, 2 * m + 2, a->f | MP_UNDEF); - if (m > KARATSUBA_CUTOFF) { + if (m > MPK_THRESH) { mpw *s; - m = 2 * (m + 1) + KARATSUBA_SLOP; + m = 2 * (m + 1) + MPK_SLOP; s = mpalloc(d->a, m); mpx_ksqr(d->v, d->vl, a->v, a->vl, s, s + m); mpfree(d->a, s);