From 0c9d150dcd7482b5deaa0c379aee1a44c51e928d Mon Sep 17 00:00:00 2001 From: mdw Date: Wed, 1 Dec 2004 01:29:48 +0000 Subject: [PATCH] Fix bogus comparison revealed by mp_cmp fix. --- mp-sqrt.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mp-sqrt.c b/mp-sqrt.c index d18d183..2e35158 100644 --- a/mp-sqrt.c +++ b/mp-sqrt.c @@ -59,7 +59,7 @@ mp *mp_sqrt(mp *d, mp *a) /* --- Deal with trivial cases --- */ MP_SHRINK(a); - if (a->v == a->vl) { + if (MP_ZEROP(a)) { mp_drop(d); return (MP_ZERO); } @@ -84,12 +84,12 @@ mp *mp_sqrt(mp *d, mp *a) for (;;) { q = mp_sqr(q, d); q = mp_sub(q, q, a); - if (q->v == q->vl) + if (MP_ZEROP(q)) break; if (MP_NEGP(q)) { r = mp_lsl(r, d, 1); r->f |= MP_NEG; - if (MP_CMP(q, <=, r)) + if (MP_CMP(q, >=, r)) break; } mp_div(&r, &q, q, d); -- 2.11.0