version 1.228, 2016/08/08 07:18:10 |
version 1.230, 2016/12/02 02:12:00 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.227 2016/07/11 08:00:30 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/engine/nd.c,v 1.229 2016/11/17 05:33:20 noro Exp $ */ |
|
|
#include "nd.h" |
#include "nd.h" |
|
|
Line 173 INLINE int nd_length(ND p) |
|
Line 173 INLINE int nd_length(ND p) |
|
} |
} |
} |
} |
|
|
|
extern int dp_negative_weight; |
|
|
INLINE int ndl_reducible(UINT *d1,UINT *d2) |
INLINE int ndl_reducible(UINT *d1,UINT *d2) |
{ |
{ |
UINT u1,u2; |
UINT u1,u2; |
Line 180 INLINE int ndl_reducible(UINT *d1,UINT *d2) |
|
Line 182 INLINE int ndl_reducible(UINT *d1,UINT *d2) |
|
|
|
if ( nd_module && (MPOS(d1) != MPOS(d2)) ) return 0; |
if ( nd_module && (MPOS(d1) != MPOS(d2)) ) return 0; |
|
|
if ( TD(d1) < TD(d2) ) return 0; |
if ( !dp_negative_weight && TD(d1) < TD(d2) ) return 0; |
#if USE_UNROLL |
#if USE_UNROLL |
switch ( nd_bpe ) { |
switch ( nd_bpe ) { |
case 3: |
case 3: |
Line 3052 void nd_gr(LIST f,LIST v,int m,int homo,int retdp,int |
|
Line 3054 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 6213 NODE nd_f4(int m,int **indp) |
|
Line 6217 NODE nd_f4(int m,int **indp) |
|
if ( QTOS((Q)ARG0(node)) == sugar ) break; |
if ( QTOS((Q)ARG0(node)) == sugar ) break; |
} |
} |
if ( tn ) { |
if ( tn ) { |
|
nd_nzlist = NEXT(nd_nzlist); |
for ( t = l, ll0 = 0; t; t = NEXT(t) ) { |
for ( t = l, ll0 = 0; t; t = NEXT(t) ) { |
for ( tn = BDY((LIST)ARG1(node)); tn; tn = NEXT(tn) ) { |
for ( tn = BDY((LIST)ARG1(node)); tn; tn = NEXT(tn) ) { |
i1s = QTOS((Q)ARG0(BDY((LIST)BDY(tn)))); |
i1s = QTOS((Q)ARG0(BDY((LIST)BDY(tn)))); |