[BACK]Return to Mgfs.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / engine

Diff for /OpenXM_contrib2/asir2000/engine/Mgfs.c between version 1.12 and 1.13

version 1.12, 2002/01/13 07:11:46 version 1.13, 2002/09/27 04:24:04
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/Mgfs.c,v 1.11 2001/10/09 01:36:10 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/Mgfs.c,v 1.12 2002/01/13 07:11:46 noro Exp $ */
   
 #include "ca.h"  #include "ca.h"
   #include "inline.h"
   
 extern int up_kara_mag, current_gfs_q1;  extern int up_kara_mag, current_gfs_q1;
 extern int *current_gfs_plus1;  extern int *current_gfs_plus1;
Line 21  INLINE int _ADDSF(int a,int b)
Line 22  INLINE int _ADDSF(int a,int b)
                 return a;                  return a;
   
         a = IFTOF(a); b = IFTOF(b);          a = IFTOF(a); b = IFTOF(b);
   
           if ( !current_gfs_ntoi ) {
                   a = a+b-current_gfs_q;
                   if ( a == 0 )
                           return 0;
                   else {
                           if ( a < 0 )
                                   a += current_gfs_q;
                           return FTOIF(a);
                   }
           }
   
         if ( a > b ) {          if ( a > b ) {
                 /* tab[a]+tab[b] = tab[b](tab[a-b]+1) */                  /* tab[a]+tab[b] = tab[b](tab[a-b]+1) */
                 a = current_gfs_plus1[a-b];                  a = current_gfs_plus1[a-b];
Line 48  INLINE int _ADDSF(int a,int b)
Line 61  INLINE int _ADDSF(int a,int b)
   
 INLINE int _MULSF(int a,int b)  INLINE int _MULSF(int a,int b)
 {  {
           int c;
   
         if ( !a || !b )          if ( !a || !b )
                 return 0;                  return 0;
         else {          else if ( !current_gfs_ntoi ) {
                   a = IFTOF(a); b = IFTOF(b);
                   DMAR(a,b,0,current_gfs_q,c);
                   return FTOIF(c);
           } else {
                 a = IFTOF(a) + IFTOF(b);                  a = IFTOF(a) + IFTOF(b);
                 if ( a >= current_gfs_q1 )                  if ( a >= current_gfs_q1 )
                         a -= current_gfs_q1;                          a -= current_gfs_q1;

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

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