version 1.153, 2007/04/30 02:11:12 |
version 1.155, 2008/05/18 07:43:22 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.152 2006/12/21 07:45:02 ohara Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.154 2008/02/28 01:25:31 noro Exp $ */ |
|
|
#include "nd.h" |
#include "nd.h" |
|
|
Line 213 void ndl_homogenize(UINT *d,UINT *r,int obpe,EPOS oepo |
|
Line 213 void ndl_homogenize(UINT *d,UINT *r,int obpe,EPOS oepo |
|
{ |
{ |
int w,i,e,n,omask0; |
int w,i,e,n,omask0; |
|
|
omask0 = (1<<obpe)-1; |
omask0 = obpe==32?0xffffffff:((1<<obpe)-1); |
n = nd_nvar-1; |
n = nd_nvar-1; |
ndl_zero(r); |
ndl_zero(r); |
for ( i = 0; i < n; i++ ) { |
for ( i = 0; i < n; i++ ) { |
Line 3265 void nd_setup_parameters(int nvar,int max) { |
|
Line 3265 void nd_setup_parameters(int nvar,int max) { |
|
struct order_pair *op; |
struct order_pair *op; |
|
|
nd_nvar = nvar; |
nd_nvar = nvar; |
if ( max ) { |
|
/* XXX */ |
if ( !max ) max = 1; |
if ( do_weyl ) nd_bpe = 32; |
/* XXX */ |
else if ( max < 2 ) nd_bpe = 1; |
if ( do_weyl ) nd_bpe = 32; |
else if ( max < 4 ) nd_bpe = 2; |
else if ( max < 2 ) nd_bpe = 1; |
else if ( max < 8 ) nd_bpe = 3; |
else if ( max < 4 ) nd_bpe = 2; |
else if ( max < 16 ) nd_bpe = 4; |
else if ( max < 8 ) nd_bpe = 3; |
else if ( max < 32 ) nd_bpe = 5; |
else if ( max < 16 ) nd_bpe = 4; |
else if ( max < 64 ) nd_bpe = 6; |
else if ( max < 32 ) nd_bpe = 5; |
else if ( max < 256 ) nd_bpe = 8; |
else if ( max < 64 ) nd_bpe = 6; |
else if ( max < 1024 ) nd_bpe = 10; |
else if ( max < 256 ) nd_bpe = 8; |
else if ( max < 65536 ) nd_bpe = 16; |
else if ( max < 1024 ) nd_bpe = 10; |
else nd_bpe = 32; |
else if ( max < 65536 ) nd_bpe = 16; |
} |
else nd_bpe = 32; |
|
|
nd_epw = (sizeof(UINT)*8)/nd_bpe; |
nd_epw = (sizeof(UINT)*8)/nd_bpe; |
elen = nd_nvar/nd_epw+(nd_nvar%nd_epw?1:0); |
elen = nd_nvar/nd_epw+(nd_nvar%nd_epw?1:0); |
nd_exporigin = nd_get_exporigin(nd_ord); |
nd_exporigin = nd_get_exporigin(nd_ord); |