[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.177 and 1.178

version 1.177, 2009/10/12 10:43:45 version 1.178, 2009/10/13 08:53:51
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.176 2009/09/24 07:13:00 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.177 2009/10/12 10:43:45 noro Exp $ */
   
 #include "nd.h"  #include "nd.h"
   
Line 2845  void nd_gr(LIST f,LIST v,int m,int f4,struct order_spe
Line 2845  void nd_gr(LIST f,LIST v,int m,int f4,struct order_spe
     }      }
     nd_init_ord(ord);      nd_init_ord(ord);
     mrank = 0;      mrank = 0;
     for ( t = BDY(f), max = 0; t; t = NEXT(t) )      for ( t = BDY(f), max = 1; t; t = NEXT(t) )
         for ( tv = vv; tv; tv = NEXT(tv) ) {          for ( tv = vv; tv; tv = NEXT(tv) ) {
             if ( nd_module ) {              if ( nd_module ) {
                 s = BDY((LIST)BDY(t));                  s = BDY((LIST)BDY(t));
Line 2975  void nd_gr_postproc(LIST f,LIST v,int m,struct order_s
Line 2975  void nd_gr_postproc(LIST f,LIST v,int m,struct order_s
         nvar += nalg;          nvar += nalg;
     }      }
     nd_init_ord(ord);      nd_init_ord(ord);
     for ( t = BDY(f), max = 0; t; t = NEXT(t) )      for ( t = BDY(f), max = 1; t; t = NEXT(t) )
         for ( tv = vv; tv; tv = NEXT(tv) ) {          for ( tv = vv; tv; tv = NEXT(tv) ) {
             e = getdeg(tv->v,(P)BDY(t));              e = getdeg(tv->v,(P)BDY(t));
             max = MAX(e,max);              max = MAX(e,max);
Line 3087  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
Line 3087  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
     m = trace > 1 ? trace : get_lprime(mindex);      m = trace > 1 ? trace : get_lprime(mindex);
     nd_init_ord(ord);      nd_init_ord(ord);
     mrank = 0;      mrank = 0;
     for ( t = BDY(f), max = 0; t; t = NEXT(t) )      for ( t = BDY(f), max = 1; t; t = NEXT(t) )
         for ( tv = vv; tv; tv = NEXT(tv) ) {          for ( tv = vv; tv; tv = NEXT(tv) ) {
             if ( nd_module ) {              if ( nd_module ) {
                 s = BDY((LIST)BDY(t));                  s = BDY((LIST)BDY(t));
Line 3448  void ndv_homogenize(NDV p,int obpe,int oadv,EPOS oepos
Line 3448  void ndv_homogenize(NDV p,int obpe,int oadv,EPOS oepos
     NMV m,mr0,mr,t;      NMV m,mr0,mr,t;
   
     len = p->len;      len = p->len;
     for ( m = BDY(p), i = 0, max = 0; i < len; NMV_OADV(m), i++ )      for ( m = BDY(p), i = 0, max = 1; i < len; NMV_OADV(m), i++ )
         max = MAX(max,TD(DL(m)));          max = MAX(max,TD(DL(m)));
     mr0 = nmv_adv>oadv?(NMV)REALLOC(BDY(p),len*nmv_adv):BDY(p);      mr0 = nmv_adv>oadv?(NMV)REALLOC(BDY(p),len*nmv_adv):BDY(p);
     m = (NMV)((char *)mr0+(len-1)*oadv);      m = (NMV)((char *)mr0+(len-1)*oadv);
Line 4908  void nd_nf_p(P f,LIST g,LIST v,int m,struct order_spec
Line 4908  void nd_nf_p(P f,LIST g,LIST v,int m,struct order_spec
     for ( nvar = 0, tv = vv; tv; tv = NEXT(tv), nvar++ );      for ( nvar = 0, tv = vv; tv; tv = NEXT(tv), nvar++ );
   
     /* get the degree bound */      /* get the degree bound */
     for ( t = BDY(g), max = 0; t; t = NEXT(t) )      for ( t = BDY(g), max = 1; t; t = NEXT(t) )
         for ( tv = vv; tv; tv = NEXT(tv) ) {          for ( tv = vv; tv; tv = NEXT(tv) ) {
             e = getdeg(tv->v,(P)BDY(t));              e = getdeg(tv->v,(P)BDY(t));
             max = MAX(e,max);              max = MAX(e,max);
Line 6503  void nd_det(int mod,MAT f,P *rp)
Line 6503  void nd_det(int mod,MAT f,P *rp)
         m = (pointer **)w;          m = (pointer **)w;
     }      }
   
     for ( i = 0, max = 0; i < n; i++ )      for ( i = 0, max = 1; i < n; i++ )
         for ( j = 0; j < n; j++ )          for ( j = 0; j < n; j++ )
             for ( tv = fv; tv; tv = NEXT(tv) ) {              for ( tv = fv; tv; tv = NEXT(tv) ) {
                 e = getdeg(tv->v,(P)m[i][j]);                  e = getdeg(tv->v,(P)m[i][j]);
Line 6511  void nd_det(int mod,MAT f,P *rp)
Line 6511  void nd_det(int mod,MAT f,P *rp)
             }              }
     nd_setup_parameters(nvar,max);      nd_setup_parameters(nvar,max);
     dm = (NDV **)almat_pointer(n,n);      dm = (NDV **)almat_pointer(n,n);
     for ( i = 0, max = 0; i < n; i++ )      for ( i = 0, max = 1; i < n; i++ )
         for ( j = 0; j < n; j++ ) {          for ( j = 0; j < n; j++ ) {
             dm[i][j] = ptondv(CO,fv,m[i][j]);              dm[i][j] = ptondv(CO,fv,m[i][j]);
             if ( mod ) ndv_mod(mod,dm[i][j]);              if ( mod ) ndv_mod(mod,dm[i][j]);

Legend:
Removed from v.1.177  
changed lines
  Added in v.1.178

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