=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/redm.c,v retrieving revision 1.4 retrieving revision 1.6 diff -u -p -r1.4 -r1.6 --- OpenXM/src/kan96xx/Kan/redm.c 2003/07/10 08:20:05 1.4 +++ OpenXM/src/kan96xx/Kan/redm.c 2003/08/24 05:19:43 1.6 @@ -1,4 +1,4 @@ -/* $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.5 2003/07/17 09:10:54 takayama Exp $ */ #include #include "datatype.h" #include "extern2.h" @@ -333,6 +333,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 +354,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 +423,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);