Merge branch 'master' of git+ssh://metalzone.distorted.org.uk/~mdw/public-git/catacomb/
[u/mdw/catacomb] / gfx-kmul.c
index f5390f4..940243d 100644 (file)
@@ -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
  *
  * 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 <assert.h>
@@ -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);
 }