=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/redm.c,v retrieving revision 1.4 retrieving revision 1.7 diff -u -p -r1.4 -r1.7 --- OpenXM/src/kan96xx/Kan/redm.c 2003/07/10 08:20:05 1.4 +++ OpenXM/src/kan96xx/Kan/redm.c 2005/07/03 11:08:54 1.7 @@ -1,5 +1,6 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/redm.c,v 1.3 2001/05/04 01:06:25 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/redm.c,v 1.6 2003/08/24 05:19:43 takayama Exp $ */ #include +#include #include "datatype.h" #include "extern2.h" #include "gradedset.h" @@ -333,6 +334,8 @@ int dGrade1(f) MONOMIAL tf; static int nn,mm,ll,cc,n,m,l,c; static struct ring *cr = (struct ring *)NULL; + extern int *DegreeShiftD_vec; + extern int DegreeShiftD_size; if (f ISZERO) return(-1); tf = f->m; @@ -352,6 +355,13 @@ int dGrade1(f) for (i=m; ie[i].D; } + if (DegreeShiftD_size > 0) { + if ((tf->e[n-1].x e[n-1].x >= 0)) { + r += DegreeShiftD_vec[tf->e[n-1].x]; + }else{ + /* warning. out of range. */ + } + } return(r); } @@ -414,14 +424,14 @@ int uvGrade1(POLY f,int u[],int v[],int ds[],int dssiz if ((t = 0)) { r += ds[t]; }else{ - /* Warning! */ + /* Warning! ds[t] is assumed to be zero. */ } }else{ t = ei; if ((t = 0)) { r += ds[t]; }else{ - /* Warning! */ + /* Warning! ds[t] is assumed to be zero. */ } } return(r);