/* -*-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>
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)
ok = 0;
}
- free(a); free(b); free(c); free(d); free(s);
+ xfree(a); xfree(b); xfree(c); xfree(d); xfree(s);
return (ok);
}