version 1.65, 2009/02/09 10:21:29 |
version 1.68, 2012/12/17 07:20:44 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/gr.c,v 1.64 2007/09/19 05:56:01 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/gr.c,v 1.67 2011/06/16 08:17:14 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
|
|
int GenTrace = 0; |
int GenTrace = 0; |
int GenSyz = 0; |
int GenSyz = 0; |
int OXCheck = -1; |
int OXCheck = -1; |
|
int OneZeroHomo = 0; |
|
|
int NoSugar = 0; |
int NoSugar = 0; |
static int NoCriB = 0; |
static int NoCriB = 0; |
Line 910 NODE gb_f4_mod(NODE f,int m) |
|
Line 911 NODE gb_f4_mod(NODE f,int m) |
|
|
|
/* XXX free redmat explicitly */ |
/* XXX free redmat explicitly */ |
for ( k = 0; k < nred; k++ ) { |
for ( k = 0; k < nred; k++ ) { |
GC_free(BDY(redmat[k])); |
GCFREE(BDY(redmat[k])); |
GC_free(redmat[k]); |
GCFREE(redmat[k]); |
} |
} |
|
|
get_eg(&tmp0); add_eg(&eg_elim1,&tmp1,&tmp0); |
get_eg(&tmp0); add_eg(&eg_elim1,&tmp1,&tmp0); |
Line 974 NODE gb_f4_mod(NODE f,int m) |
|
Line 975 NODE gb_f4_mod(NODE f,int m) |
|
|
|
/* XXX free spmat[] explicitly */ |
/* XXX free spmat[] explicitly */ |
for ( j = 0; j < nsp; j++ ) { |
for ( j = 0; j < nsp; j++ ) { |
GC_free(spmat[j]); |
GCFREE(spmat[j]); |
} |
} |
} |
} |
if ( DP_Print ) { |
if ( DP_Print ) { |
Line 1655 void reducebase_dehomo(NODE f,NODE *g) |
|
Line 1656 void reducebase_dehomo(NODE f,NODE *g) |
|
NODE node; |
NODE node; |
|
|
STOQ(r[i],q); |
STOQ(r[i],q); |
node = mknode(4,0,q,0,0); |
node = mknode(4,NULLP,q,NULLP,NULLP); |
MKLIST(hist,node); |
MKLIST(hist,node); |
MKNODE(TraceList,hist,0); |
MKNODE(TraceList,hist,0); |
} |
} |
Line 2323 void dp_set_flag(Obj name,Obj value) |
|
Line 2324 void dp_set_flag(Obj name,Obj value) |
|
OXCheck = v; |
OXCheck = v; |
else if ( !strcmp(n,"GenSyz") ) |
else if ( !strcmp(n,"GenSyz") ) |
GenSyz = v; |
GenSyz = v; |
|
else if ( !strcmp(n,"OneZeroHomo") ) |
|
OneZeroHomo = v; |
} |
} |
|
|
void dp_make_flaglist(LIST *list) |
void dp_make_flaglist(LIST *list) |
Line 2567 void _dp_nf_z(NODE b,DP g,DP *ps,int full,int multiple |
|
Line 2570 void _dp_nf_z(NODE b,DP g,DP *ps,int full,int multiple |
|
if ( GenTrace ) { |
if ( GenTrace ) { |
/* u = cr*rp + (-cred)*shift*red */ |
/* u = cr*rp + (-cred)*shift*red */ |
STOQ((int)BDY(l),cq); |
STOQ((int)BDY(l),cq); |
node = mknode(4,cr,cq,0,0); |
node = mknode(4,cr,cq,NULLP,NULLP); |
mulq(cred,rc,&rcred); |
mulq(cred,rc,&rcred); |
chsgnnum((Num)rcred,(Num *)&mrcred); |
chsgnnum((Num)rcred,(Num *)&mrcred); |
muldc(CO,shift,(P)mrcred,(DP *)&ARG2(node)); |
muldc(CO,shift,(P)mrcred,(DP *)&ARG2(node)); |