/* -*-c-*-
*
- * $Id: mpx.c,v 1.20 2004/04/08 01:36:15 mdw Exp $
+ * $Id$
*
* Low-level multiprecision arithmetic
*
while (avl > av) {
mpw t = *--avl;
- *--dvl = (t >> nr) | w;
+ *--dvl = MPW((t >> nr) | w);
w = t << nb;
}
- *--dvl = w;
+ *--dvl = MPW(w);
MPX_ZERO(dv, dvl);
}
while (avl > av) {
mpw t = *--avl;
- *--dvl = (t >> nr) | w;
+ *--dvl = MPW((t >> nr) | w);
w = t << nb;
}
- *--dvl = (MPW_MAX >> nr) | w;
+ *--dvl = MPW((MPW_MAX >> nr) | w);
MPX_ONE(dv, dvl);
}
a <<= o;
if (dv < dvl) {
- mpd x = (mpd)*dv - (mpd)a;
+ mpd x = (mpd)*dv - MPW(a);
*dv++ = MPW(x);
if (x >> MPW_BITS)
b++;
*/
void mpx_umuln(mpw *dv, mpw *dvl, const mpw *av, const mpw *avl, mpw m)
-{
- MPX_UMULN(dv, dvl, av, avl, m);
-}
+ { MPX_UMULN(dv, dvl, av, avl, m); }
/* --- @mpx_umlan@ --- *
*
*/
void mpx_umlan(mpw *dv, mpw *dvl, const mpw *av, const mpw *avl, mpw m)
-{
- MPX_UMLAN(dv, dvl, av, avl, m);
-}
+ { MPX_UMLAN(dv, dvl, av, avl, m); }
/* --- @mpx_usqr@ --- *
*
unsigned b;
d = dvl[-1];
- for (b = MPW_BITS / 2; b; b >>= 1) {
+ for (b = MPW_P2; b; b >>= 1) {
if (d <= (MPW_MAX >> b)) {
d <<= b;
norm += b;
if (!ok)
dumpbits("input data", v->buf, v->len);
- free(m);
+ xfree(m);
dstr_destroy(&d);
return (ok);
}
dumpbits("neg", v[1].buf, v[1].len);
}
- free(m);
+ xfree(m);
dstr_destroy(&d);
return (ok);
dumpbits("neg", v[1].buf, v[1].len);
}
- free(m);
+ xfree(m);
dstr_destroy(&d);
return (ok);
ok = 0;
}
- free(a); free(c); free(d);
+ xfree(a); xfree(c); xfree(d);
return (ok);
}
ok = 0;
}
- free(a); free(c); free(d);
+ xfree(a); xfree(c); xfree(d);
return (ok);
}
ok = 0;
}
- free(a); free(c); free(d);
+ xfree(a); xfree(c); xfree(d);
return (ok);
}
ok = 0;
}
- free(a); free(b); free(c); free(d);
+ xfree(a); xfree(b); xfree(c); xfree(d);
return (ok);
}
ok = 0;
}
- free(a); free(b); free(c); free(d);
+ xfree(a); xfree(b); xfree(c); xfree(d);
return (ok);
}
ok = 0;
}
- free(a); free(b); free(c); free(d);
+ xfree(a); xfree(b); xfree(c); xfree(d);
return (ok);
}
ok = 0;
}
- free(a); free(c); free(d);
+ xfree(a); xfree(c); xfree(d);
return (ok);
}
ok = 0;
}
- free(a); free(b); free(r); free(q); free(s); free(qq);
+ xfree(a); xfree(b); xfree(r); xfree(q); xfree(s); xfree(qq);
return (ok);
}