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

Diff for /OpenXM_contrib2/asir2000/engine/nd.c between version 1.80 and 1.81

version 1.80, 2003/10/10 10:07:18 version 1.81, 2003/10/11 02:14:19
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.79 2003/10/10 07:18:12 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.80 2003/10/10 10:07:18 noro Exp $ */
   
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 784  INLINE int ndl_equal(UINT *d1,UINT *d2)
Line 784  INLINE int ndl_equal(UINT *d1,UINT *d2)
 {  {
         int i;          int i;
   
         for ( i = 0; i < nd_wpd; i++ )          switch ( nd_wpd ) {
                 if ( *d1++ != *d2++ )                  case 2:
                         return 0;                          if ( TD(d2) != TD(d1) ) return 0;
         return 1;                          if ( d2[1] != d1[1] ) return 0;
                           return 1;
                           break;
                   case 3:
                           if ( TD(d2) != TD(d1) ) return 0;
                           if ( d2[1] != d1[1] ) return 0;
                           if ( d2[2] != d1[2] ) return 0;
                           return 1;
                           break;
                   default:
                           for ( i = 0; i < nd_wpd; i++ )
                                   if ( *d1++ != *d2++ ) return 0;
                           return 1;
                           break;
           }
 }  }
   
 INLINE void ndl_copy(UINT *d1,UINT *d2)  INLINE void ndl_copy(UINT *d1,UINT *d2)
Line 3823  IndArray nm_ind_pair_to_vect_compress(int mod,UINT *s0
Line 3837  IndArray nm_ind_pair_to_vect_compress(int mod,UINT *s0
         NDV p;          NDV p;
         unsigned char *ivc;          unsigned char *ivc;
         unsigned short *ivs;          unsigned short *ivs;
         UINT *v,*ivi;          UINT *v,*ivi,*s0v;
         int i,j,len,prev,diff,cdiff;          int i,j,len,prev,diff,cdiff;
         IndArray r;          IndArray r;
   
Line 3832  IndArray nm_ind_pair_to_vect_compress(int mod,UINT *s0
Line 3846  IndArray nm_ind_pair_to_vect_compress(int mod,UINT *s0
         p = nd_ps[pair->index];          p = nd_ps[pair->index];
         len = LEN(p);          len = LEN(p);
         t = (UINT *)ALLOCA(nd_wpd*sizeof(UINT));          t = (UINT *)ALLOCA(nd_wpd*sizeof(UINT));
         r = (IndArray)MALLOC(sizeof(struct oIndArray));  
         v = (unsigned int *)ALLOCA(len*sizeof(unsigned int));          v = (unsigned int *)ALLOCA(len*sizeof(unsigned int));
         for ( i = j = 0, s = s0, mr = BDY(p); j < len; j++, NMV_ADV(mr) ) {          for ( i = j = 0, s = s0, mr = BDY(p); j < len; j++, NMV_ADV(mr) ) {
                 ndl_add(d,DL(mr),t);                  ndl_add(d,DL(mr),t);
                 for ( ; !ndl_equal(t,s); s += nd_wpd, i++ );                  for ( ; !ndl_equal(t,s); s += nd_wpd, i++ );
                 v[j] = i;                  v[j] = i;
         }          }
           r = (IndArray)MALLOC(sizeof(struct oIndArray));
         r->head = v[0];          r->head = v[0];
         diff = 0;          diff = 0;
         for ( i = 1; i < len; i++ ) {          for ( i = 1; i < len; i++ ) {

Legend:
Removed from v.1.80  
changed lines
  Added in v.1.81

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