version 1.160, 2009/01/05 01:47:30 |
version 1.162, 2009/01/05 02:47:39 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.159 2009/01/05 00:52:20 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.161 2009/01/05 02:08:18 noro Exp $ */ |
|
|
#include "nd.h" |
#include "nd.h" |
|
|
Line 399 int ndl_weight(UINT *d) |
|
Line 399 int ndl_weight(UINT *d) |
|
for ( j = 0; j < nd_epw; j++, u>>=nd_bpe ) |
for ( j = 0; j < nd_epw; j++, u>>=nd_bpe ) |
t += (u&nd_mask0); |
t += (u&nd_mask0); |
} |
} |
|
if ( nd_module && current_module_weight_vector && MPOS(d) ) |
|
t += current_module_weight_vector[MPOS(d)]; |
return t; |
return t; |
} |
} |
|
|
Line 725 INLINE void ndl_add(UINT *d1,UINT *d2,UINT *d) |
|
Line 727 INLINE void ndl_add(UINT *d1,UINT *d2,UINT *d) |
|
{ |
{ |
int i; |
int i; |
|
|
|
if ( nd_module ) { |
|
if ( MPOS(d1) && MPOS(d2) && (MPOS(d1) != MPOS(d2)) ) |
|
error("ndl_add : invalid operation"); |
|
} |
#if 1 |
#if 1 |
switch ( nd_wpd ) { |
switch ( nd_wpd ) { |
case 2: |
case 2: |
Line 743 INLINE void ndl_add(UINT *d1,UINT *d2,UINT *d) |
|
Line 749 INLINE void ndl_add(UINT *d1,UINT *d2,UINT *d) |
|
#else |
#else |
for ( i = 0; i < nd_wpd; i++ ) d[i] = d1[i]+d2[i]; |
for ( i = 0; i < nd_wpd; i++ ) d[i] = d1[i]+d2[i]; |
#endif |
#endif |
if ( nd_module ) { |
|
if ( MPOS(d1) && MPOS(d2) && (MPOS(d1) != MPOS(d2)) ) |
|
error("ndl_add : invalid operation"); |
|
MPOS(d) = MPOS(d1); |
|
} |
|
} |
} |
|
|
/* d1 += d2 */ |
/* d1 += d2 */ |
Line 755 INLINE void ndl_addto(UINT *d1,UINT *d2) |
|
Line 756 INLINE void ndl_addto(UINT *d1,UINT *d2) |
|
{ |
{ |
int i; |
int i; |
|
|
|
if ( nd_module ) { |
|
if ( MPOS(d1) && MPOS(d2) && (MPOS(d1) != MPOS(d2)) ) |
|
error("ndl_addto : invalid operation"); |
|
} |
#if 1 |
#if 1 |
switch ( nd_wpd ) { |
switch ( nd_wpd ) { |
case 2: |
case 2: |
Line 773 INLINE void ndl_addto(UINT *d1,UINT *d2) |
|
Line 778 INLINE void ndl_addto(UINT *d1,UINT *d2) |
|
#else |
#else |
for ( i = 0; i < nd_wpd; i++ ) d1[i] += d2[i]; |
for ( i = 0; i < nd_wpd; i++ ) d1[i] += d2[i]; |
#endif |
#endif |
if ( nd_module ) { |
|
if ( MPOS(d1) && MPOS(d2) && (MPOS(d1) != MPOS(d2)) ) |
|
error("ndl_addto : invalid operation"); |
|
MPOS(d1) = MPOS(d2); |
|
} |
|
} |
} |
|
|
INLINE void ndl_sub(UINT *d1,UINT *d2,UINT *d) |
INLINE void ndl_sub(UINT *d1,UINT *d2,UINT *d) |