/* -*-c-*-
*
- * $Id: mp-sqrt.c,v 1.1 2000/06/22 19:01:44 mdw Exp $
+ * $Id: mp-sqrt.c,v 1.3 2001/02/03 12:00:29 mdw Exp $
*
* Compute integer square roots
*
/*----- Revision history --------------------------------------------------*
*
* $Log: mp-sqrt.c,v $
+ * Revision 1.3 2001/02/03 12:00:29 mdw
+ * Now @mp_drop@ checks its argument is non-NULL before attempting to free
+ * it. Note that the macro version @MP_DROP@ doesn't do this.
+ *
+ * Revision 1.2 2000/10/08 12:02:21 mdw
+ * Use @MP_EQ@ instead of @MP_CMP@.
+ *
* Revision 1.1 2000/06/22 19:01:44 mdw
* Compute (approximations to) integer square roots.
*
MP_SHRINK(a);
if (a->v == a->vl) {
- if (d)
- mp_drop(d);
+ mp_drop(d);
return (MP_ZERO);
}
/* --- Finished, at last --- */
mp_drop(q);
- if (r)
- mp_drop(r);
+ mp_drop(r);
return (d);
}
mp *q = mp_sqrt(MP_NEW, a);
int ok = 1;
- if (MP_CMP(q, !=, qq)) {
+ if (!MP_EQ(q, qq)) {
ok = 0;
fputs("\n*** sqrt failed", stderr);
fputs("\n*** a = ", stderr); mp_writefile(a, stderr, 10);