[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.61 and 1.62

version 1.61, 2003/09/10 05:14:32 version 1.62, 2003/09/11 01:52:25
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.60 2003/09/06 01:33:26 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.61 2003/09/10 05:14:32 noro Exp $ */
   
 #include "ca.h"  #include "ca.h"
 #include "inline.h"  #include "inline.h"
Line 393  INLINE int ndl_reducible(UINT *d1,UINT *d2)
Line 393  INLINE int ndl_reducible(UINT *d1,UINT *d2)
   
         if ( TD(d1) < TD(d2) ) return 0;          if ( TD(d1) < TD(d2) ) return 0;
         switch ( nd_bpe ) {          switch ( nd_bpe ) {
                   case 3:
                           for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                   u1 = d1[i]; u2 = d2[i];
                                   if ( (u1&0x38000000) < (u2&0x38000000) ) return 0;
                                   if ( (u1& 0x7000000) < (u2& 0x7000000) ) return 0;
                                   if ( (u1&  0xe00000) < (u2&  0xe00000) ) return 0;
                                   if ( (u1&  0x1c0000) < (u2&  0x1c0000) ) return 0;
                                   if ( (u1&   0x38000) < (u2&   0x38000) ) return 0;
                                   if ( (u1&    0x7000) < (u2&    0x7000) ) return 0;
                                   if ( (u1&     0xe00) < (u2&     0xe00) ) return 0;
                                   if ( (u1&     0x1c0) < (u2&     0x1c0) ) return 0;
                                   if ( (u1&      0x38) < (u2&      0x38) ) return 0;
                                   if ( (u1&       0x7) < (u2&       0x7) ) return 0;
                           }
                           return 1;
                           break;
                 case 4:                  case 4:
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 if ( (u1&0xf0000000) < (u2&0xf0000000) ) return 0;                                  if ( (u1&0xf0000000) < (u2&0xf0000000) ) return 0;
                                 if ( (u1&0xf000000) < (u2&0xf000000) ) return 0;                                  if ( (u1& 0xf000000) < (u2& 0xf000000) ) return 0;
                                 if ( (u1&0xf00000) < (u2&0xf00000) ) return 0;                                  if ( (u1&  0xf00000) < (u2&  0xf00000) ) return 0;
                                 if ( (u1&0xf0000) < (u2&0xf0000) ) return 0;                                  if ( (u1&   0xf0000) < (u2&   0xf0000) ) return 0;
                                 if ( (u1&0xf000) < (u2&0xf000) ) return 0;                                  if ( (u1&    0xf000) < (u2&    0xf000) ) return 0;
                                 if ( (u1&0xf00) < (u2&0xf00) ) return 0;                                  if ( (u1&     0xf00) < (u2&     0xf00) ) return 0;
                                 if ( (u1&0xf0) < (u2&0xf0) ) return 0;                                  if ( (u1&      0xf0) < (u2&      0xf0) ) return 0;
                                 if ( (u1&0xf) < (u2&0xf) ) return 0;                                  if ( (u1&       0xf) < (u2&       0xf) ) return 0;
                         }                          }
                         return 1;                          return 1;
                         break;                          break;
Line 411  INLINE int ndl_reducible(UINT *d1,UINT *d2)
Line 427  INLINE int ndl_reducible(UINT *d1,UINT *d2)
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 if ( (u1&0x3f000000) < (u2&0x3f000000) ) return 0;                                  if ( (u1&0x3f000000) < (u2&0x3f000000) ) return 0;
                                 if ( (u1&0xfc0000) < (u2&0xfc0000) ) return 0;                                  if ( (u1&  0xfc0000) < (u2&  0xfc0000) ) return 0;
                                 if ( (u1&0x3f000) < (u2&0x3f000) ) return 0;                                  if ( (u1&   0x3f000) < (u2&   0x3f000) ) return 0;
                                 if ( (u1&0xfc0) < (u2&0xfc0) ) return 0;                                  if ( (u1&     0xfc0) < (u2&     0xfc0) ) return 0;
                                 if ( (u1&0x3f) < (u2&0x3f) ) return 0;                                  if ( (u1&      0x3f) < (u2&      0x3f) ) return 0;
                         }                          }
                         return 1;                          return 1;
                         break;                          break;
Line 422  INLINE int ndl_reducible(UINT *d1,UINT *d2)
Line 438  INLINE int ndl_reducible(UINT *d1,UINT *d2)
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 if ( (u1&0xff000000) < (u2&0xff000000) ) return 0;                                  if ( (u1&0xff000000) < (u2&0xff000000) ) return 0;
                                 if ( (u1&0xff0000) < (u2&0xff0000) ) return 0;                                  if ( (u1&  0xff0000) < (u2&  0xff0000) ) return 0;
                                 if ( (u1&0xff00) < (u2&0xff00) ) return 0;                                  if ( (u1&    0xff00) < (u2&    0xff00) ) return 0;
                                 if ( (u1&0xff) < (u2&0xff) ) return 0;                                  if ( (u1&      0xff) < (u2&      0xff) ) return 0;
                         }                          }
                         return 1;                          return 1;
                         break;                          break;
Line 432  INLINE int ndl_reducible(UINT *d1,UINT *d2)
Line 448  INLINE int ndl_reducible(UINT *d1,UINT *d2)
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 if ( (u1&0xffff0000) < (u2&0xffff0000) ) return 0;                                  if ( (u1&0xffff0000) < (u2&0xffff0000) ) return 0;
                                 if ( (u1&0xffff) < (u2&0xffff) ) return 0;                                  if ( (u1&    0xffff) < (u2&    0xffff) ) return 0;
                         }                          }
                         return 1;                          return 1;
                         break;                          break;
Line 517  void ndl_lcm(UINT *d1,unsigned *d2,UINT *d)
Line 533  void ndl_lcm(UINT *d1,unsigned *d2,UINT *d)
         int i,j,l;          int i,j,l;
   
         switch ( nd_bpe ) {          switch ( nd_bpe ) {
                   case 3:
                           for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                   u1 = d1[i]; u2 = d2[i];
                                   t1 = (u1&0x38000000); t2 = (u2&0x38000000); u = t1>t2?t1:t2;
                                   t1 = (u1& 0x7000000); t2 = (u2& 0x7000000); u |= t1>t2?t1:t2;
                                   t1 = (u1&  0xe00000); t2 = (u2&  0xe00000); u |= t1>t2?t1:t2;
                                   t1 = (u1&  0x1c0000); t2 = (u2&  0x1c0000); u |= t1>t2?t1:t2;
                                   t1 = (u1&   0x38000); t2 = (u2&   0x38000); u |= t1>t2?t1:t2;
                                   t1 = (u1&    0x7000); t2 = (u2&    0x7000); u |= t1>t2?t1:t2;
                                   t1 = (u1&     0xe00); t2 = (u2&     0xe00); u |= t1>t2?t1:t2;
                                   t1 = (u1&     0x1c0); t2 = (u2&     0x1c0); u |= t1>t2?t1:t2;
                                   t1 = (u1&      0x38); t2 = (u2&      0x38); u |= t1>t2?t1:t2;
                                   t1 = (u1&       0x7); t2 = (u2&       0x7); u |= t1>t2?t1:t2;
                                   d[i] = u;
                           }
                           break;
                 case 4:                  case 4:
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 t1 = (u1&0xf0000000); t2 = (u2&0xf0000000); u = t1>t2?t1:t2;                                  t1 = (u1&0xf0000000); t2 = (u2&0xf0000000); u = t1>t2?t1:t2;
                                 t1 = (u1&0xf000000); t2 = (u2&0xf000000); u |= t1>t2?t1:t2;                                  t1 = (u1& 0xf000000); t2 = (u2& 0xf000000); u |= t1>t2?t1:t2;
                                 t1 = (u1&0xf00000); t2 = (u2&0xf00000); u |= t1>t2?t1:t2;                                  t1 = (u1&  0xf00000); t2 = (u2&  0xf00000); u |= t1>t2?t1:t2;
                                 t1 = (u1&0xf0000); t2 = (u2&0xf0000); u |= t1>t2?t1:t2;                                  t1 = (u1&   0xf0000); t2 = (u2&   0xf0000); u |= t1>t2?t1:t2;
                                 t1 = (u1&0xf000); t2 = (u2&0xf000); u |= t1>t2?t1:t2;                                  t1 = (u1&    0xf000); t2 = (u2&    0xf000); u |= t1>t2?t1:t2;
                                 t1 = (u1&0xf00); t2 = (u2&0xf00); u |= t1>t2?t1:t2;                                  t1 = (u1&     0xf00); t2 = (u2&     0xf00); u |= t1>t2?t1:t2;
                                 t1 = (u1&0xf0); t2 = (u2&0xf0); u |= t1>t2?t1:t2;                                  t1 = (u1&      0xf0); t2 = (u2&      0xf0); u |= t1>t2?t1:t2;
                                 t1 = (u1&0xf); t2 = (u2&0xf); u |= t1>t2?t1:t2;                                  t1 = (u1&       0xf); t2 = (u2&       0xf); u |= t1>t2?t1:t2;
                                 d[i] = u;                                  d[i] = u;
                         }                          }
                         break;                          break;
Line 535  void ndl_lcm(UINT *d1,unsigned *d2,UINT *d)
Line 567  void ndl_lcm(UINT *d1,unsigned *d2,UINT *d)
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 t1 = (u1&0x3f000000); t2 = (u2&0x3f000000); u = t1>t2?t1:t2;                                  t1 = (u1&0x3f000000); t2 = (u2&0x3f000000); u = t1>t2?t1:t2;
                                 t1 = (u1&0xfc0000); t2 = (u2&0xfc0000); u |= t1>t2?t1:t2;                                  t1 = (u1&  0xfc0000); t2 = (u2&  0xfc0000); u |= t1>t2?t1:t2;
                                 t1 = (u1&0x3f000); t2 = (u2&0x3f000); u |= t1>t2?t1:t2;                                  t1 = (u1&   0x3f000); t2 = (u2&   0x3f000); u |= t1>t2?t1:t2;
                                 t1 = (u1&0xfc0); t2 = (u2&0xfc0); u |= t1>t2?t1:t2;                                  t1 = (u1&     0xfc0); t2 = (u2&     0xfc0); u |= t1>t2?t1:t2;
                                 t1 = (u1&0x3f); t2 = (u2&0x3f); u |= t1>t2?t1:t2;                                  t1 = (u1&      0x3f); t2 = (u2&      0x3f); u |= t1>t2?t1:t2;
                                 d[i] = u;                                  d[i] = u;
                         }                          }
                         break;                          break;
Line 546  void ndl_lcm(UINT *d1,unsigned *d2,UINT *d)
Line 578  void ndl_lcm(UINT *d1,unsigned *d2,UINT *d)
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 t1 = (u1&0xff000000); t2 = (u2&0xff000000); u = t1>t2?t1:t2;                                  t1 = (u1&0xff000000); t2 = (u2&0xff000000); u = t1>t2?t1:t2;
                                 t1 = (u1&0xff0000); t2 = (u2&0xff0000); u |= t1>t2?t1:t2;                                  t1 = (u1&  0xff0000); t2 = (u2&  0xff0000); u |= t1>t2?t1:t2;
                                 t1 = (u1&0xff00); t2 = (u2&0xff00); u |= t1>t2?t1:t2;                                  t1 = (u1&    0xff00); t2 = (u2&    0xff00); u |= t1>t2?t1:t2;
                                 t1 = (u1&0xff); t2 = (u2&0xff); u |= t1>t2?t1:t2;                                  t1 = (u1&      0xff); t2 = (u2&      0xff); u |= t1>t2?t1:t2;
                                 d[i] = u;                                  d[i] = u;
                         }                          }
                         break;                          break;
Line 556  void ndl_lcm(UINT *d1,unsigned *d2,UINT *d)
Line 588  void ndl_lcm(UINT *d1,unsigned *d2,UINT *d)
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 t1 = (u1&0xffff0000); t2 = (u2&0xffff0000); u = t1>t2?t1:t2;                                  t1 = (u1&0xffff0000); t2 = (u2&0xffff0000); u = t1>t2?t1:t2;
                                 t1 = (u1&0xffff); t2 = (u2&0xffff); u |= t1>t2?t1:t2;                                  t1 = (u1&    0xffff); t2 = (u2&    0xffff); u |= t1>t2?t1:t2;
                                 d[i] = u;                                  d[i] = u;
                         }                          }
                         break;                          break;
Line 782  int ndl_disjoint(UINT *d1,UINT *d2)
Line 814  int ndl_disjoint(UINT *d1,UINT *d2)
         int i,j;          int i,j;
   
         switch ( nd_bpe ) {          switch ( nd_bpe ) {
                   case 3:
                           for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                   u1 = d1[i]; u2 = d2[i];
                                   t1 = u1&0x38000000; t2 = u2&0x38000000; if ( t1&&t2 ) return 0;
                                   t1 = u1& 0x7000000; t2 = u2& 0x7000000; if ( t1&&t2 ) return 0;
                                   t1 = u1&  0xe00000; t2 = u2&  0xe00000; if ( t1&&t2 ) return 0;
                                   t1 = u1&  0x1c0000; t2 = u2&  0x1c0000; if ( t1&&t2 ) return 0;
                                   t1 = u1&   0x38000; t2 = u2&   0x38000; if ( t1&&t2 ) return 0;
                                   t1 = u1&    0x7000; t2 = u2&    0x7000; if ( t1&&t2 ) return 0;
                                   t1 = u1&     0xe00; t2 = u2&     0xe00; if ( t1&&t2 ) return 0;
                                   t1 = u1&     0x1c0; t2 = u2&     0x1c0; if ( t1&&t2 ) return 0;
                                   t1 = u1&      0x38; t2 = u2&      0x38; if ( t1&&t2 ) return 0;
                                   t1 = u1&       0x7; t2 = u2&       0x7; if ( t1&&t2 ) return 0;
                           }
                           return 1;
                           break;
                 case 4:                  case 4:
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 t1 = u1&0xf0000000; t2 = u2&0xf0000000; if ( t1&&t2 ) return 0;                                  t1 = u1&0xf0000000; t2 = u2&0xf0000000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xf000000; t2 = u2&0xf000000; if ( t1&&t2 ) return 0;                                  t1 = u1& 0xf000000; t2 = u2& 0xf000000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xf00000; t2 = u2&0xf00000; if ( t1&&t2 ) return 0;                                  t1 = u1&  0xf00000; t2 = u2&  0xf00000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xf0000; t2 = u2&0xf0000; if ( t1&&t2 ) return 0;                                  t1 = u1&   0xf0000; t2 = u2&   0xf0000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xf000; t2 = u2&0xf000; if ( t1&&t2 ) return 0;                                  t1 = u1&    0xf000; t2 = u2&    0xf000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xf00; t2 = u2&0xf00; if ( t1&&t2 ) return 0;                                  t1 = u1&     0xf00; t2 = u2&     0xf00; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xf0; t2 = u2&0xf0; if ( t1&&t2 ) return 0;                                  t1 = u1&      0xf0; t2 = u2&      0xf0; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xf; t2 = u2&0xf; if ( t1&&t2 ) return 0;                                  t1 = u1&       0xf; t2 = u2&       0xf; if ( t1&&t2 ) return 0;
                         }                          }
                         return 1;                          return 1;
                         break;                          break;
Line 800  int ndl_disjoint(UINT *d1,UINT *d2)
Line 848  int ndl_disjoint(UINT *d1,UINT *d2)
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 t1 = u1&0x3f000000; t2 = u2&0x3f000000; if ( t1&&t2 ) return 0;                                  t1 = u1&0x3f000000; t2 = u2&0x3f000000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xfc0000; t2 = u2&0xfc0000; if ( t1&&t2 ) return 0;                                  t1 = u1&  0xfc0000; t2 = u2&  0xfc0000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0x3f000; t2 = u2&0x3f000; if ( t1&&t2 ) return 0;                                  t1 = u1&   0x3f000; t2 = u2&   0x3f000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xfc0; t2 = u2&0xfc0; if ( t1&&t2 ) return 0;                                  t1 = u1&     0xfc0; t2 = u2&     0xfc0; if ( t1&&t2 ) return 0;
                                 t1 = u1&0x3f; t2 = u2&0x3f; if ( t1&&t2 ) return 0;                                  t1 = u1&      0x3f; t2 = u2&      0x3f; if ( t1&&t2 ) return 0;
                         }                          }
                         return 1;                          return 1;
                         break;                          break;
Line 811  int ndl_disjoint(UINT *d1,UINT *d2)
Line 859  int ndl_disjoint(UINT *d1,UINT *d2)
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 t1 = u1&0xff000000; t2 = u2&0xff000000; if ( t1&&t2 ) return 0;                                  t1 = u1&0xff000000; t2 = u2&0xff000000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xff0000; t2 = u2&0xff0000; if ( t1&&t2 ) return 0;                                  t1 = u1&  0xff0000; t2 = u2&  0xff0000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xff00; t2 = u2&0xff00; if ( t1&&t2 ) return 0;                                  t1 = u1&    0xff00; t2 = u2&    0xff00; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xff; t2 = u2&0xff; if ( t1&&t2 ) return 0;                                  t1 = u1&      0xff; t2 = u2&      0xff; if ( t1&&t2 ) return 0;
                         }                          }
                         return 1;                          return 1;
                         break;                          break;
Line 821  int ndl_disjoint(UINT *d1,UINT *d2)
Line 869  int ndl_disjoint(UINT *d1,UINT *d2)
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u1 = d1[i]; u2 = d2[i];                                  u1 = d1[i]; u2 = d2[i];
                                 t1 = u1&0xffff0000; t2 = u2&0xffff0000; if ( t1&&t2 ) return 0;                                  t1 = u1&0xffff0000; t2 = u2&0xffff0000; if ( t1&&t2 ) return 0;
                                 t1 = u1&0xffff; t2 = u2&0xffff; if ( t1&&t2 ) return 0;                                  t1 = u1&    0xffff; t2 = u2&    0xffff; if ( t1&&t2 ) return 0;
                         }                          }
                         return 1;                          return 1;
                         break;                          break;
Line 852  int ndl_check_bound2(int index,UINT *d2)
Line 900  int ndl_check_bound2(int index,UINT *d2)
         d1 = nd_bound[index];          d1 = nd_bound[index];
         ind = 0;          ind = 0;
         switch ( nd_bpe ) {          switch ( nd_bpe ) {
                   case 3:
                           for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                   u2 = d2[i];
                                   if ( d1[ind++]+((u2>>27)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>24)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>21)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>18)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>15)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>12)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>9)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>6)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>3)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+(u2&0x7) >= 0x8 ) return 1;
                           }
                           return 0;
                           break;
                 case 4:                  case 4:
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u2 = d2[i];                                  u2 = d2[i];
Line 919  int ndl_check_bound2_direct(UINT *d1,UINT *d2)
Line 983  int ndl_check_bound2_direct(UINT *d1,UINT *d2)
   
         ind = 0;          ind = 0;
         switch ( nd_bpe ) {          switch ( nd_bpe ) {
                   case 3:
                           for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                   u2 = d2[i];
                                   if ( d1[ind++]+((u2>>27)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>24)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>21)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>18)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>15)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>12)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>9)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>6)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+((u2>>3)&0x7) >= 0x8 ) return 1;
                                   if ( d1[ind++]+(u2&0x7) >= 0x8 ) return 1;
                           }
                           return 0;
                           break;
                 case 4:                  case 4:
                         for ( i = nd_exporigin; i < nd_wpd; i++ ) {                          for ( i = nd_exporigin; i < nd_wpd; i++ ) {
                                 u2 = d2[i];                                  u2 = d2[i];
Line 2571  void nd_setup_parameters(int nvar,int max) {
Line 2651  void nd_setup_parameters(int nvar,int max) {
   
         /* if max == 0, don't touch nd_bpe */          /* if max == 0, don't touch nd_bpe */
         if ( max > 0 ) {          if ( max > 0 ) {
                 if ( max < 2 ) nd_bpe = 2;                  if ( max < 4 ) nd_bpe = 2;
                 else if ( max < 4 ) nd_bpe = 4;                  else if ( max < 8 ) nd_bpe = 3;
                   else if ( max < 16 ) nd_bpe = 4;
                 else if ( max < 64 ) nd_bpe = 6;                  else if ( max < 64 ) nd_bpe = 6;
                 else if ( max < 256 ) nd_bpe = 8;                  else if ( max < 256 ) nd_bpe = 8;
                 else if ( max < 65536 ) nd_bpe = 16;                  else if ( max < 65536 ) nd_bpe = 16;
Line 2617  ND_pairs nd_reconstruct(int mod,int trace,ND_pairs d)
Line 2698  ND_pairs nd_reconstruct(int mod,int trace,ND_pairs d)
         obpe = nd_bpe;          obpe = nd_bpe;
         oadv = nmv_adv;          oadv = nmv_adv;
         oepos = nd_epos;          oepos = nd_epos;
         if ( obpe < 4 ) nd_bpe = 4;          if ( obpe < 3 ) nd_bpe = 3;
           else if ( obpe < 4 ) nd_bpe = 4;
         else if ( obpe < 6 ) nd_bpe = 6;          else if ( obpe < 6 ) nd_bpe = 6;
         else if ( obpe < 8 ) nd_bpe = 8;          else if ( obpe < 8 ) nd_bpe = 8;
         else if ( obpe < 16 ) nd_bpe = 16;          else if ( obpe < 16 ) nd_bpe = 16;
Line 2685  void nd_reconstruct_direct(int mod,NDV *ps,int len)
Line 2767  void nd_reconstruct_direct(int mod,NDV *ps,int len)
         obpe = nd_bpe;          obpe = nd_bpe;
         oadv = nmv_adv;          oadv = nmv_adv;
         oepos = nd_epos;          oepos = nd_epos;
         if ( obpe < 4 ) nd_bpe = 4;          if ( obpe < 3 ) nd_bpe = 3;
           else if ( obpe < 4 ) nd_bpe = 4;
         else if ( obpe < 6 ) nd_bpe = 6;          else if ( obpe < 6 ) nd_bpe = 6;
         else if ( obpe < 8 ) nd_bpe = 8;          else if ( obpe < 8 ) nd_bpe = 8;
         else if ( obpe < 16 ) nd_bpe = 16;          else if ( obpe < 16 ) nd_bpe = 16;

Legend:
Removed from v.1.61  
changed lines
  Added in v.1.62

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