14b6a78b7SSimon Schubert /* mpz_cmpabs(u,v) -- Compare U, V. Return positive, zero, or negative
24b6a78b7SSimon Schubert based on if U > V, U == V, or U < V.
34b6a78b7SSimon Schubert
44b6a78b7SSimon Schubert Copyright 1991, 1993, 1994, 1996, 1997, 2000, 2001, 2002 Free Software
54b6a78b7SSimon Schubert Foundation, Inc.
64b6a78b7SSimon Schubert
74b6a78b7SSimon Schubert This file is part of the GNU MP Library.
84b6a78b7SSimon Schubert
94b6a78b7SSimon Schubert The GNU MP Library is free software; you can redistribute it and/or modify
104b6a78b7SSimon Schubert it under the terms of the GNU Lesser General Public License as published by
114b6a78b7SSimon Schubert the Free Software Foundation; either version 3 of the License, or (at your
124b6a78b7SSimon Schubert option) any later version.
134b6a78b7SSimon Schubert
144b6a78b7SSimon Schubert The GNU MP Library is distributed in the hope that it will be useful, but
154b6a78b7SSimon Schubert WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
164b6a78b7SSimon Schubert or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
174b6a78b7SSimon Schubert License for more details.
184b6a78b7SSimon Schubert
194b6a78b7SSimon Schubert You should have received a copy of the GNU Lesser General Public License
204b6a78b7SSimon Schubert along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
214b6a78b7SSimon Schubert
224b6a78b7SSimon Schubert #include "gmp.h"
234b6a78b7SSimon Schubert #include "gmp-impl.h"
244b6a78b7SSimon Schubert
254b6a78b7SSimon Schubert
264b6a78b7SSimon Schubert int
mpz_cmpabs(mpz_srcptr u,mpz_srcptr v)27*d2d4b659SJohn Marino mpz_cmpabs (mpz_srcptr u, mpz_srcptr v) __GMP_NOTHROW
284b6a78b7SSimon Schubert {
294b6a78b7SSimon Schubert mp_size_t usize, vsize, dsize;
304b6a78b7SSimon Schubert mp_srcptr up, vp;
314b6a78b7SSimon Schubert int cmp;
324b6a78b7SSimon Schubert
334b6a78b7SSimon Schubert usize = ABSIZ (u);
344b6a78b7SSimon Schubert vsize = ABSIZ (v);
354b6a78b7SSimon Schubert dsize = usize - vsize;
364b6a78b7SSimon Schubert if (dsize != 0)
374b6a78b7SSimon Schubert return dsize;
384b6a78b7SSimon Schubert
394b6a78b7SSimon Schubert up = PTR(u);
404b6a78b7SSimon Schubert vp = PTR(v);
414b6a78b7SSimon Schubert MPN_CMP (cmp, up, vp, usize);
424b6a78b7SSimon Schubert return cmp;
434b6a78b7SSimon Schubert }
44