summaryrefslogtreecommitdiff
path: root/mpz/cmpabs.c
diff options
context:
space:
mode:
authorKevin Ryde <user42@zip.com.au>2001-04-02 23:13:43 +0200
committerKevin Ryde <user42@zip.com.au>2001-04-02 23:13:43 +0200
commit9d617cb7d874383a2711a42c89c22be8b8ded601 (patch)
tree806a1639ffedf07935148689b662971973ed209c /mpz/cmpabs.c
parent0eba1262d67c7f2957abc51efd63f6b9a4dd7dfb (diff)
downloadgmp-9d617cb7d874383a2711a42c89c22be8b8ded601.tar.gz
* gmp-impl.h (MPN_CMP): New macro.
* mpz/cmp.c,cmpabs.c: Use it, and minor cleanups too.
Diffstat (limited to 'mpz/cmpabs.c')
-rw-r--r--mpz/cmpabs.c33
1 files changed, 14 insertions, 19 deletions
diff --git a/mpz/cmpabs.c b/mpz/cmpabs.c
index 03b3be9f2..6e33c9a95 100644
--- a/mpz/cmpabs.c
+++ b/mpz/cmpabs.c
@@ -24,27 +24,22 @@ MA 02111-1307, USA. */
#include "gmp.h"
#include "gmp-impl.h"
+
int
mpz_cmpabs (mpz_srcptr u, mpz_srcptr v)
{
- mp_size_t usize = u->_mp_size;
- mp_size_t vsize = v->_mp_size;
- mp_srcptr up, vp;
- int cmp;
-
- usize = ABS (usize);
- vsize = ABS (vsize);
-
- if (usize != vsize)
- return usize - vsize;
-
- if (usize == 0)
- return 0;
-
- up = u->_mp_d;
- vp = v->_mp_d;
-
- cmp = mpn_cmp (up, vp, usize);
-
+ mp_size_t usize, vsize, dsize;
+ mp_srcptr up, vp;
+ int cmp;
+
+ usize = ABSIZ (u);
+ vsize = ABSIZ (v);
+ dsize = usize - vsize;
+ if (dsize != 0)
+ return dsize;
+
+ up = PTR(u);
+ vp = PTR(v);
+ MPN_CMP (cmp, up, vp, usize);
return cmp;
}