version 1.227, 2016/07/11 08:00:30 |
version 1.229, 2016/11/17 05:33:20 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.226 2016/04/05 04:21:18 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.228 2016/08/08 07:18:10 noro Exp $ */ |
|
|
#include "nd.h" |
#include "nd.h" |
|
|
Line 93 ND ndgztond(ND p); |
|
Line 93 ND ndgztond(ND p); |
|
void Pdp_set_weight(NODE,VECT *); |
void Pdp_set_weight(NODE,VECT *); |
void Pox_cmo_rpc(NODE,Obj *); |
void Pox_cmo_rpc(NODE,Obj *); |
|
|
extern int Denominator,DP_Multiple; |
extern int Denominator,DP_Multiple,MaxDeg; |
|
|
#define BLEN (8*sizeof(unsigned long)) |
#define BLEN (8*sizeof(unsigned long)) |
|
|
Line 2005 NODE nd_gb(int m,int ishomo,int checkonly,int gensyz,i |
|
Line 2005 NODE nd_gb(int m,int ishomo,int checkonly,int gensyz,i |
|
while ( d ) { |
while ( d ) { |
again: |
again: |
l = nd_minp(d,&d); |
l = nd_minp(d,&d); |
|
if ( MaxDeg > 0 && SG(l) > MaxDeg ) break; |
if ( SG(l) != sugar ) { |
if ( SG(l) != sugar ) { |
if ( ishomo ) { |
if ( ishomo ) { |
diag_count = 0; |
diag_count = 0; |
Line 2263 NODE nd_gb_trace(int m,int ishomo,int **indp) |
|
Line 2264 NODE nd_gb_trace(int m,int ishomo,int **indp) |
|
while ( d ) { |
while ( d ) { |
again: |
again: |
l = nd_minp(d,&d); |
l = nd_minp(d,&d); |
|
if ( MaxDeg > 0 && SG(l) > MaxDeg ) break; |
if ( SG(l) != sugar ) { |
if ( SG(l) != sugar ) { |
#if 1 |
#if 1 |
if ( ishomo ) { |
if ( ishomo ) { |
Line 3050 void nd_gr(LIST f,LIST v,int m,int homo,int retdp,int |
|
Line 3052 void nd_gr(LIST f,LIST v,int m,int homo,int retdp,int |
|
ndv_alloc = 0; |
ndv_alloc = 0; |
#endif |
#endif |
get_vars((Obj)f,&fv); pltovl(v,&vv); vlminus(fv,vv,&nd_vc); |
get_vars((Obj)f,&fv); pltovl(v,&vv); vlminus(fv,vv,&nd_vc); |
|
if ( m && nd_vc ) |
|
error("nd_{gr,f4} : computation over Fp(X) is unsupported. Use dp_gr_mod_main()."); |
for ( nvar = 0, tv = vv; tv; tv = NEXT(tv), nvar++ ); |
for ( nvar = 0, tv = vv; tv; tv = NEXT(tv), nvar++ ); |
switch ( ord->id ) { |
switch ( ord->id ) { |
case 1: |
case 1: |
Line 3564 void nd_gr_trace(LIST f,LIST v,int trace,int homo,int |
|
Line 3568 void nd_gr_trace(LIST f,LIST v,int trace,int homo,int |
|
for ( t = fd0; t; t = NEXT(t) ) |
for ( t = fd0; t; t = NEXT(t) ) |
ndv_homogenize((NDV)BDY(t),obpe,oadv,oepos,ompos); |
ndv_homogenize((NDV)BDY(t),obpe,oadv,oepos,ompos); |
} |
} |
|
if ( MaxDeg > 0 ) nocheck = 1; |
while ( 1 ) { |
while ( 1 ) { |
tl1 = tl2 = tl3 = tl4 = 0; |
tl1 = tl2 = tl3 = tl4 = 0; |
if ( Demand ) |
if ( Demand ) |
Line 6203 NODE nd_f4(int m,int **indp) |
|
Line 6208 NODE nd_f4(int m,int **indp) |
|
get_eg(&eg0); |
get_eg(&eg0); |
l = nd_minsugarp(d,&d); |
l = nd_minsugarp(d,&d); |
sugar = SG(l); |
sugar = SG(l); |
|
if ( MaxDeg > 0 && sugar > MaxDeg ) break; |
if ( nd_nzlist ) { |
if ( nd_nzlist ) { |
for ( tn = nd_nzlist; tn; tn = NEXT(tn) ) { |
for ( tn = nd_nzlist; tn; tn = NEXT(tn) ) { |
node = BDY((LIST)BDY(tn)); |
node = BDY((LIST)BDY(tn)); |
Line 6315 NODE nd_f4_trace(int m,int **indp) |
|
Line 6321 NODE nd_f4_trace(int m,int **indp) |
|
get_eg(&eg0); |
get_eg(&eg0); |
l = nd_minsugarp(d,&d); |
l = nd_minsugarp(d,&d); |
sugar = SG(l); |
sugar = SG(l); |
|
if ( MaxDeg > 0 && sugar > MaxDeg ) break; |
bucket = create_pbucket(); |
bucket = create_pbucket(); |
stat = nd_sp_f4(m,0,l,bucket); |
stat = nd_sp_f4(m,0,l,bucket); |
if ( !stat ) { |
if ( !stat ) { |