[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.28 and 1.29

version 1.28, 2003/08/11 06:58:01 version 1.29, 2003/08/11 07:37:08
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.27 2003/08/10 01:31:24 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.28 2003/08/11 06:58:01 noro Exp $ */
   
 #include "ca.h"  #include "ca.h"
 #include "inline.h"  #include "inline.h"
Line 1350  void add_pbucket(int mod,PGeoBucket g,ND d,int l)
Line 1350  void add_pbucket(int mod,PGeoBucket g,ND d,int l)
 {  {
         int k,m;          int k,m;
   
         for ( k = 0, m = 1; l > m; k++, m <<= 2 );          for ( k = 0, m = 1; l > m; k++, m <<= 1 );
         /* 4^(k-1) < l <= 4^k */          /* 2^(k-1) < l <= 2^k (=m) */
         d = nd_add(mod,g->body[k],d);          d = nd_add(mod,g->body[k],d);
         for ( ; d && nd_length(d) > 1<<(2*k); k++ ) {          for ( ; d && nd_length(d) > m; k++, m <<= 1 ) {
                 g->body[k] = 0;                  g->body[k] = 0;
                 d = nd_add(mod,g->body[k+1],d);                  d = nd_add(mod,g->body[k+1],d);
         }          }

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29

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