X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/dd22938ef0d9b0131dad9171a8a95866ceec9607..298182ad446aaced14dea7ed0e7c968946787288:/gfx-kmul.c diff --git a/gfx-kmul.c b/gfx-kmul.c index f5390f4..940243d 100644 --- a/gfx-kmul.c +++ b/gfx-kmul.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: gfx-kmul.c,v 1.2 2002/10/09 00:36:03 mdw Exp $ + * $Id$ * * Karatsuba's multiplication algorithm on binary polynomials * @@ -27,17 +27,6 @@ * MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: gfx-kmul.c,v $ - * Revision 1.2 2002/10/09 00:36:03 mdw - * Fix bounds on workspace for Karatsuba operations. - * - * Revision 1.1 2000/10/08 15:49:37 mdw - * First glimmerings of binary polynomial arithmetic. - * - */ - /*----- Header files ------------------------------------------------------*/ #include @@ -139,8 +128,8 @@ void gfx_kmul(mpw *dv, mpw *dvl, mpw *bsv = sv + m, *ssv = bsv + m; mpw *rdv = dv + m, *rdvl = rdv + 2 * m; - assert(rdvl < dvl); - assert(ssv < svl); + assert(rdvl <= dvl); + assert(ssv <= svl); UXOR2(sv, bsv, av, avm, avm, avl); UXOR2(bsv, ssv, bv, bvm, bvm, bvl); if (m > GFK_THRESH) @@ -240,7 +229,7 @@ static int mul(dstr *v) ok = 0; } - free(a); free(b); free(c); free(d); free(s); + xfree(a); xfree(b); xfree(c); xfree(d); xfree(s); return (ok); }