version 1.77, 2003/10/08 09:09:04 |
version 1.78, 2003/10/10 01:51:09 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.76 2003/09/28 09:18:57 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.77 2003/10/08 09:09:04 noro Exp $ */ |
|
|
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 2318 void nd_gr(LIST f,LIST v,int m,int f4,struct order_spe |
|
Line 2318 void nd_gr(LIST f,LIST v,int m,int f4,struct order_spe |
|
NDV b; |
NDV b; |
int ishomo; |
int ishomo; |
|
|
|
if ( !m && Demand ) nd_demand = 1; |
|
else nd_demand = 0; |
|
|
ndv_alloc = 0; |
ndv_alloc = 0; |
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 2367 void nd_gr_trace(LIST f,LIST v,int trace,int homo,stru |
|
Line 2370 void nd_gr_trace(LIST f,LIST v,int trace,int homo,stru |
|
nocheck = 0; |
nocheck = 0; |
mindex = 0; |
mindex = 0; |
|
|
if ( Demand ) |
if ( Demand ) nd_demand = 1; |
nd_demand = 1; |
else nd_demand = 0; |
|
|
/* setup modulus */ |
/* setup modulus */ |
if ( trace < 0 ) { |
if ( trace < 0 ) { |
trace = -trace; |
trace = -trace; |
Line 2424 void nd_gr_trace(LIST f,LIST v,int trace,int homo,stru |
|
Line 2428 void nd_gr_trace(LIST f,LIST v,int trace,int homo,stru |
|
nd_demand = 0; |
nd_demand = 0; |
cand = ndv_reducebase(cand); |
cand = ndv_reducebase(cand); |
cand = ndv_reduceall(0,cand); |
cand = ndv_reduceall(0,cand); |
|
cbpe = nd_bpe; |
if ( nocheck ) |
if ( nocheck ) |
break; |
break; |
cbpe = nd_bpe; |
|
if ( ndv_check_candidate(in0,obpe,oadv,oepos,cand) ) |
if ( ndv_check_candidate(in0,obpe,oadv,oepos,cand) ) |
/* success */ |
/* success */ |
break; |
break; |