[BACK]Return to cmp.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gmp / mpz

Diff for /OpenXM_contrib/gmp/mpz/Attic/cmp.c between version 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2000/09/09 14:12:49 version 1.1.1.3, 2003/08/25 16:06:32
Line 1 
Line 1 
 /* mpz_cmp(u,v) -- Compare U, V.  Return postive, zero, or negative  /* mpz_cmp(u,v) -- Compare U, V.  Return postive, zero, or negative
    based on if U > V, U == V, or U < V.     based on if U > V, U == V, or U < V.
   
 Copyright (C) 1991, 1993, 1994, 1996 Free Software Foundation, Inc.  Copyright 1991, 1993, 1994, 1996, 2001 Free Software Foundation, Inc.
   
 This file is part of the GNU MP Library.  This file is part of the GNU MP Library.
   
Line 26  MA 02111-1307, USA. */
Line 26  MA 02111-1307, USA. */
 #include "gmp.h"  #include "gmp.h"
 #include "gmp-impl.h"  #include "gmp-impl.h"
   
 #ifndef BERKELEY_MP  
 int  int
 #if __STDC__  #ifdef BERKELEY_MP
 mpz_cmp (mpz_srcptr u, mpz_srcptr v)  
 #else  
 mpz_cmp (u, v)  
      mpz_srcptr u;  
      mpz_srcptr v;  
 #endif  
 #else /* BERKELEY_MP */  
 int  
 #if __STDC__  
 mcmp (mpz_srcptr u, mpz_srcptr v)  mcmp (mpz_srcptr u, mpz_srcptr v)
 #else  #else
 mcmp (u, v)  mpz_cmp (mpz_srcptr u, mpz_srcptr v)
      mpz_srcptr u;  
      mpz_srcptr v;  
 #endif  #endif
 #endif /* BERKELEY_MP */  
 {  {
   mp_size_t usize = u->_mp_size;    mp_size_t  usize, vsize, dsize, asize;
   mp_size_t vsize = v->_mp_size;    mp_srcptr  up, vp;
   mp_size_t size;    int        cmp;
   mp_srcptr up, vp;  
   int cmp;  
   
   if (usize != vsize)    usize = SIZ(u);
     return usize - vsize;    vsize = SIZ(v);
     dsize = usize - vsize;
     if (dsize != 0)
       return dsize;
   
   if (usize == 0)    asize = ABS (usize);
     return 0;    up = PTR(u);
     vp = PTR(v);
   size = ABS (usize);    MPN_CMP (cmp, up, vp, asize);
     return (usize >= 0 ? cmp : -cmp);
   up = u->_mp_d;  
   vp = v->_mp_d;  
   
   cmp = mpn_cmp (up, vp, size);  
   
   if (cmp == 0)  
     return 0;  
   
   if ((cmp < 0) == (usize < 0))  
     return 1;  
   else  
     return -1;  
 }  }

Legend:
Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>