version 1.38, 2001/11/16 10:35:07 |
version 1.41, 2002/01/28 00:54:41 |
|
|
* 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.37 2001/10/09 01:36:06 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/gr.c,v 1.40 2001/11/19 01:40:04 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 1779 DP_pairs newpairs( NODE /* of index */ g, int t ) |
|
Line 1779 DP_pairs newpairs( NODE /* of index */ g, int t ) |
|
p->lcm = lcm_of_DL(CNVars, dl = psh[dp], tdl, (DL)0 ); |
p->lcm = lcm_of_DL(CNVars, dl = psh[dp], tdl, (DL)0 ); |
#if 0 |
#if 0 |
if ( do_weyl ) |
if ( do_weyl ) |
p->sugar = dl_weight(p->lcm); |
p->sugar = dl_weyl_weight(p->lcm); |
else |
else |
#endif |
#endif |
p->sugar = (ts > (s = pss[dp] - dl->td) ? ts : s) + p->lcm->td; |
p->sugar = (ts > (s = pss[dp] - dl->td) ? ts : s) + p->lcm->td; |
Line 1946 int dl_redble(DL dl1,DL dl2) |
|
Line 1946 int dl_redble(DL dl1,DL dl2) |
|
return 1; |
return 1; |
} |
} |
|
|
int dl_weight(DL dl) |
#if 0 |
|
int dl_weyl_weight(DL dl) |
{ |
{ |
int n,w,i; |
int n,w,i; |
|
|
Line 1955 int dl_weight(DL dl) |
|
Line 1956 int dl_weight(DL dl) |
|
w += (-dl->d[i]+dl->d[n+i]); |
w += (-dl->d[i]+dl->d[n+i]); |
return w; |
return w; |
} |
} |
|
#endif |
|
|
int gbcheck(NODE f) |
int gbcheck(NODE f) |
{ |
{ |
Line 1994 int gbcheck(NODE f) |
|
Line 1996 int gbcheck(NODE f) |
|
return 1; |
return 1; |
} |
} |
|
|
void gbcheck_list(NODE f,LIST *gp,LIST *pp) |
void gbcheck_list(NODE f,int n,VECT *gp,LIST *pp) |
{ |
{ |
int i; |
int i; |
NODE r,g,gall,u,u0,t; |
NODE r,g,gall,u,u0,t; |
|
VECT vect; |
LIST pair; |
LIST pair; |
DP_pairs d,l; |
DP_pairs d,l; |
Q q1,q2; |
Q q1,q2; |
|
|
for ( gall = g = 0, d = 0, r = f; r; r = NEXT(r) ) { |
/* we need the following settings */ |
|
NVars = CNVars = n; |
|
setup_arrays(f,0,&r); |
|
for ( gall = g = 0, d = 0; r; r = NEXT(r) ) { |
i = (int)BDY(r); |
i = (int)BDY(r); |
d = updpairs(d,g,i); |
d = updpairs(d,g,i); |
g = updbase(g,i); |
g = updbase(g,i); |
gall = append_one(gall,i); |
gall = append_one(gall,i); |
} |
} |
for ( u0 = 0, t = gall; t; t = NEXT(t) ) { |
NEWVECT(vect); vect->len = psn; vect->body = (pointer)ps; |
NEXTNODE(u0,u); |
*gp = vect; |
BDY(u) = ps[(int)BDY(t)]; |
|
} |
|
if ( u0 ) |
|
NEXT(u) = 0; |
|
MKLIST(*gp,u); |
|
for ( u0 = 0, l = d; l; l = NEXT(l) ) { |
for ( u0 = 0, l = d; l; l = NEXT(l) ) { |
NEXTNODE(u0,u); |
NEXTNODE(u0,u); |
STOQ(l->dp1,q1); |
STOQ(l->dp1,q1); |
Line 2025 void gbcheck_list(NODE f,LIST *gp,LIST *pp) |
|
Line 2027 void gbcheck_list(NODE f,LIST *gp,LIST *pp) |
|
} |
} |
if ( u0 ) |
if ( u0 ) |
NEXT(u) = 0; |
NEXT(u) = 0; |
MKLIST(*pp,u); |
MKLIST(*pp,u0); |
} |
} |
|
|
int membercheck(NODE f,NODE x) |
int membercheck(NODE f,NODE x) |