[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.153 and 1.155

version 1.153, 2007/04/30 02:11:12 version 1.155, 2008/05/18 07:43:22
Line 1 
Line 1 
 /* $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);

Legend:
Removed from v.1.153  
changed lines
  Added in v.1.155

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