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

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

version 1.1.1.2, 2000/09/09 14:12:54 version 1.1.1.3, 2003/08/25 16:06:33
Line 1 
Line 1 
 /* mpz_mod -- The mathematical mod function.  /* mpz_mod -- The mathematical mod function.
   
 Copyright (C) 1991, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.  Copyright 1991, 1993, 1994, 1995, 1996, 2001, 2002 Free Software Foundation,
   Inc.
   
 This file is part of the GNU MP Library.  This file is part of the GNU MP Library.
   
Line 23  MA 02111-1307, USA. */
Line 24  MA 02111-1307, USA. */
 #include "gmp-impl.h"  #include "gmp-impl.h"
   
 void  void
 #if __STDC__  
 mpz_mod (mpz_ptr rem, mpz_srcptr dividend, mpz_srcptr divisor)  mpz_mod (mpz_ptr rem, mpz_srcptr dividend, mpz_srcptr divisor)
 #else  
 mpz_mod (rem, dividend, divisor)  
      mpz_ptr rem;  
      mpz_srcptr dividend;  
      mpz_srcptr divisor;  
 #endif  
 {  {
   mp_size_t divisor_size = divisor->_mp_size;    mp_size_t divisor_size = divisor->_mp_size;
   mpz_t temp_divisor;           /* N.B.: lives until function returns! */    mpz_t temp_divisor;           /* N.B.: lives until function returns! */
Line 53  mpz_mod (rem, dividend, divisor)
Line 47  mpz_mod (rem, dividend, divisor)
   if (rem->_mp_size != 0)    if (rem->_mp_size != 0)
     {      {
       if (dividend->_mp_size < 0)        if (dividend->_mp_size < 0)
         if (divisor->_mp_size < 0)          {
           mpz_sub (rem, rem, divisor);            if (divisor->_mp_size < 0)
         else              mpz_sub (rem, rem, divisor);
           mpz_add (rem, rem, divisor);            else
               mpz_add (rem, rem, divisor);
           }
     }      }
   
   TMP_FREE (marker);    TMP_FREE (marker);

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

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