X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/ae747c9bab929bc794ddad9f59c381657d347d1f..92c494cebdce7068e6c9c0fe4363467719c8ed67:/gfx-kmul.c diff --git a/gfx-kmul.c b/gfx-kmul.c index dc2e524..aaf1109 100644 --- a/gfx-kmul.c +++ b/gfx-kmul.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: gfx-kmul.c,v 1.1 2000/10/08 15:49:37 mdw Exp $ + * $Id: gfx-kmul.c,v 1.4 2004/04/08 01:36:15 mdw Exp $ * * Karatsuba's multiplication algorithm on binary polynomials * @@ -27,14 +27,6 @@ * MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: gfx-kmul.c,v $ - * Revision 1.1 2000/10/08 15:49:37 mdw - * First glimmerings of binary polynomial arithmetic. - * - */ - /*----- Header files ------------------------------------------------------*/ #include @@ -130,17 +122,14 @@ void gfx_kmul(mpw *dv, mpw *dvl, avm = avl; } - assert(((void)"Destination too small for Karatsuba gf-multiply", - dvl - dv >= 4 * m)); - assert(((void)"Not enough workspace for Karatsuba gf-multiply", - svl - sv >= 4 * m)); - /* --- Sort out the middle term --- */ { mpw *bsv = sv + m, *ssv = bsv + m; mpw *rdv = dv + m, *rdvl = rdv + 2 * m; + assert(rdvl <= dvl); + assert(ssv <= svl); UXOR2(sv, bsv, av, avm, avm, avl); UXOR2(bsv, ssv, bv, bvm, bvm, bvl); if (m > GFK_THRESH)