version 1.61, 2003/09/10 05:14:32 |
version 1.62, 2003/09/11 01:52:25 |
|
|
/* $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; |