[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.141 and 1.145

version 1.141, 2006/06/17 10:12:06 version 1.145, 2006/08/26 05:38:06
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.140 2006/06/12 21:51:33 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.144 2006/08/26 03:09:55 noro Exp $ */
   
 #include "nd.h"  #include "nd.h"
   
Line 2376  void nd_gr(LIST f,LIST v,int m,int f4,struct order_spe
Line 2376  void nd_gr(LIST f,LIST v,int m,int f4,struct order_spe
         NDV b;          NDV b;
         int ishomo,nalg;          int ishomo,nalg;
         Alg alpha,dp;          Alg alpha,dp;
         P p;          P p,zp;
           Q dmy;
         LIST f1,f2;          LIST f1,f2;
         Obj obj;          Obj obj;
         NumberField nf;          NumberField nf;
Line 2422  void nd_gr(LIST f,LIST v,int m,int f4,struct order_spe
Line 2423  void nd_gr(LIST f,LIST v,int m,int f4,struct order_spe
         nd_setup_parameters(nvar,max);          nd_setup_parameters(nvar,max);
         ishomo = 1;          ishomo = 1;
         for ( fd0 = 0, t = BDY(f); t; t = NEXT(t) ) {          for ( fd0 = 0, t = BDY(f); t; t = NEXT(t) ) {
                 b = (pointer)ptondv(CO,vv,(P)BDY(t));                  ptozp((P)BDY(t),1,&dmy,&zp);
                   b = (pointer)ptondv(CO,vv,zp);
                 if ( ishomo )                  if ( ishomo )
                         ishomo = ishomo && ndv_ishomo(b);                          ishomo = ishomo && ndv_ishomo(b);
                 if ( m ) ndv_mod(m,b);                  if ( m ) ndv_mod(m,b);
Line 2455  void nd_gr_postproc(LIST f,LIST v,int m,struct order_s
Line 2457  void nd_gr_postproc(LIST f,LIST v,int m,struct order_s
         NDV b;          NDV b;
         int ishomo,nalg;          int ishomo,nalg;
         Alg alpha,dp;          Alg alpha,dp;
         P p;          P p,zp;
           Q dmy;
         LIST f1,f2;          LIST f1,f2;
         Obj obj;          Obj obj;
         NumberField nf;          NumberField nf;
Line 2495  void nd_gr_postproc(LIST f,LIST v,int m,struct order_s
Line 2498  void nd_gr_postproc(LIST f,LIST v,int m,struct order_s
         nd_setup_parameters(nvar,max);          nd_setup_parameters(nvar,max);
         ishomo = 1;          ishomo = 1;
         for ( fd0 = 0, t = BDY(f); t; t = NEXT(t) ) {          for ( fd0 = 0, t = BDY(f); t; t = NEXT(t) ) {
                 b = (pointer)ptondv(CO,vv,(P)BDY(t));                  ptozp((P)BDY(t),1,&dmy,&zp);
                   b = (pointer)ptondv(CO,vv,zp);
                 if ( ishomo )                  if ( ishomo )
                         ishomo = ishomo && ndv_ishomo(b);                          ishomo = ishomo && ndv_ishomo(b);
                 if ( m ) ndv_mod(m,b);                  if ( m ) ndv_mod(m,b);
Line 2534  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
Line 2538  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
         int m,nocheck,nvar,mindex,e,max;          int m,nocheck,nvar,mindex,e,max;
         NDV c;          NDV c;
         NMV a;          NMV a;
         P p;          P p,zp;
           Q dmy;
         EPOS oepos;          EPOS oepos;
         int obpe,oadv,wmax,i,len,cbpe,ishomo,nalg;          int obpe,oadv,wmax,i,len,cbpe,ishomo,nalg;
         Alg alpha,dp;          Alg alpha,dp;
Line 2543  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
Line 2548  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
         Obj obj;          Obj obj;
         NumberField nf;          NumberField nf;
         struct order_spec *ord1;          struct order_spec *ord1;
           struct oEGT eg_check,eg0,eg1;
   
         get_vars((Obj)f,&fv); pltovl(v,&vv);          get_vars((Obj)f,&fv); pltovl(v,&vv);
         for ( nvar = 0, tv = vv; tv; tv = NEXT(tv), nvar++ );          for ( nvar = 0, tv = vv; tv; tv = NEXT(tv), nvar++ );
Line 2589  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
Line 2595  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
         obpe = nd_bpe; oadv = nmv_adv; oepos = nd_epos;          obpe = nd_bpe; oadv = nmv_adv; oepos = nd_epos;
         ishomo = 1;          ishomo = 1;
         for ( in0 = 0, fd0 = 0, t = BDY(f); t; t = NEXT(t) ) {          for ( in0 = 0, fd0 = 0, t = BDY(f); t; t = NEXT(t) ) {
                 c = ptondv(CO,vv,(P)BDY(t));                  ptozp((P)BDY(t),1,&dmy,&zp);
                   c = (pointer)ptondv(CO,vv,zp);
                 if ( ishomo )                  if ( ishomo )
                         ishomo = ishomo && ndv_ishomo(c);                          ishomo = ishomo && ndv_ishomo(c);
                 if ( c ) {                  if ( c ) {
Line 2634  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
Line 2641  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
                 cbpe = nd_bpe;                  cbpe = nd_bpe;
                 if ( nocheck )                  if ( nocheck )
                         break;                          break;
                   get_eg(&eg0);
                 if ( ndv_check_candidate(in0,obpe,oadv,oepos,cand) )                  if ( ndv_check_candidate(in0,obpe,oadv,oepos,cand) )
                         /* success */                          /* success */
                         break;                          break;
Line 2653  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
Line 2661  void nd_gr_trace(LIST f,LIST v,int trace,int homo,int 
                         }                          }
                 }                  }
         }          }
           get_eg(&eg1); init_eg(&eg_check); add_eg(&eg_check,&eg0,&eg1);
           if ( DP_Print )
                   fprintf(asir_out,"check=%fsec\n",eg_check.exectime+eg_check.gctime);
         /* dp->p */          /* dp->p */
         nd_bpe = cbpe;          nd_bpe = cbpe;
         nd_setup_parameters(nd_nvar,0);          nd_setup_parameters(nd_nvar,0);

Legend:
Removed from v.1.141  
changed lines
  Added in v.1.145

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