+ * Revision 1.7 2000/10/08 15:48:35 mdw
+ * Rename Karatsuba constants now that we have @gfx_kmul@ too.
+ *
+ * Revision 1.6 2000/10/08 12:11:01 mdw
+ * Use @mpx_ueq@ instead of @MPX_UCMP@.
+ *
+ * Revision 1.5 2000/07/29 17:04:02 mdw
+ * Remove useless header `mpscan.h'.
+ *
* Revision 1.4 2000/06/17 11:42:11 mdw
* Moved the Karatsuba macros into a separate file for better sharing.
* Fixed some comments.
* Revision 1.4 2000/06/17 11:42:11 mdw
* Moved the Karatsuba macros into a separate file for better sharing.
* Fixed some comments.
*
* The destination must be twice as large as the larger
* argument. The scratch space must be twice as large as the
*
* The destination must be twice as large as the larger
* argument. The scratch space must be twice as large as the
mpx_umul(dv, dvl, av, avl, bv, bvl);
return;
}
mpx_umul(dv, dvl, av, avl, bv, bvl);
return;
}
UADD2(sv, bsv, av, avm, avm, avl);
UADD2(bsv, ssv, bv, bvm, bvm, bvl);
UADD2(sv, bsv, av, avm, avm, avl);
UADD2(bsv, ssv, bv, bvm, bvm, bvl);
mpx_kmul(rdv, rdvl, sv, bsv, bsv, ssv, ssv, svl);
else
mpx_umul(rdv, rdvl, sv, bsv, bsv, ssv);
mpx_kmul(rdv, rdvl, sv, bsv, bsv, ssv, ssv, svl);
else
mpx_umul(rdv, rdvl, sv, bsv, bsv, ssv);
if (avl == avm || bvl == bvm)
MPX_ZERO(rdv + m + 1, dvl);
else {
if (avl == avm || bvl == bvm)
MPX_ZERO(rdv + m + 1, dvl);
else {
mpx_kmul(sv, ssv, avm, avl, bvm, bvl, ssv, svl);
else
mpx_umul(sv, ssv, avm, avl, bvm, bvl);
mpx_kmul(sv, ssv, avm, avl, bvm, bvl, ssv, svl);
else
mpx_umul(sv, ssv, avm, avl, bvm, bvl);
mpx_kmul(sv, ssv, av, avm, bv, bvm, ssv, svl);
else
mpx_umul(sv, ssv, av, avm, bv, bvm);
mpx_kmul(sv, ssv, av, avm, bv, bvm, ssv, svl);
else
mpx_umul(sv, ssv, av, avm, bv, bvm);
#define ALLOC(v, vl, sz) do { \
size_t _sz = (sz); \
mpw *_vv = xmalloc(MPWS(_sz)); \
#define ALLOC(v, vl, sz) do { \
size_t _sz = (sz); \
mpw *_vv = xmalloc(MPWS(_sz)); \
ALLOC(s, sl, 2 * m + 32);
mpx_kmul(d, dl, a, al, b, bl, s, sl);
ALLOC(s, sl, 2 * m + 32);
mpx_kmul(d, dl, a, al, b, bl, s, sl);
- if (MPX_UCMP(d, dl, !=, c, cl)) {
+ if (!mpx_ueq(d, dl, c, cl)) {