X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/65397be71373e71fd364cc3bb436dfe34e4c6a31..75263f25a1ce8e7b38ad4bd61a9a893723ec1db3:/mp-sqrt.c diff --git a/mp-sqrt.c b/mp-sqrt.c index 98741e8..7b65ec0 100644 --- a/mp-sqrt.c +++ b/mp-sqrt.c @@ -1,6 +1,6 @@ /* -*-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 * @@ -30,6 +30,13 @@ /*----- 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. * @@ -68,8 +75,7 @@ mp *mp_sqrt(mp *d, mp *a) MP_SHRINK(a); if (a->v == a->vl) { - if (d) - mp_drop(d); + mp_drop(d); return (MP_ZERO); } @@ -113,8 +119,7 @@ mp *mp_sqrt(mp *d, mp *a) /* --- Finished, at last --- */ mp_drop(q); - if (r) - mp_drop(r); + mp_drop(r); return (d); } @@ -131,7 +136,7 @@ static int verify(dstr *v) 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);