=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/resol.c,v retrieving revision 1.3 retrieving revision 1.5 diff -u -p -r1.3 -r1.5 --- OpenXM/src/kan96xx/Kan/resol.c 2000/05/24 15:31:29 1.3 +++ OpenXM/src/kan96xx/Kan/resol.c 2000/07/26 02:21:30 1.5 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/resol.c,v 1.2 2000/01/16 07:55:41 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/resol.c,v 1.4 2000/06/26 11:15:04 takayama Exp $ */ /* resol.c */ #include #include "datatype.h" @@ -46,7 +46,7 @@ struct arrayOfMonomialSyz enlargeArrayOfMonomialSyz(st static struct arrayOfMonomialSyz schreyerSkelton0(struct arrayOfPOLY g,int i) /* return value will be changed by the next call of this function. */ { - int m,j,k; + int m,j,k,flag; static int s_ij_size = 0; static struct monomialSyz **s_ij = NULL; struct monomialSyz *s; @@ -75,16 +75,21 @@ static struct arrayOfMonomialSyz schreyerSkelton0(stru } shellForMonomialSyz(s_ij,m-i-1); if (RemoveRedundantInSchreyerSkelton) { - for (j=0; jdeleted != 1) { - for (k=j+1; kdeleted != 1) { - if ((*isReducible)(s_ij[k]->a,s->a)) s_ij[k]->deleted = 1; - } - } - } - } + do { + flag = 0; + for (j=0; jdeleted != 1) { + for (k=0; kdeleted != 1)) { + if ((*isReducible)(s_ij[k]->a,s_ij[j]->a)) { + s_ij[k]->deleted = 1; + flag = 1; + } + } + } + } + } + }while (flag); } ans.size = m-i-1; ans.limit = s_ij_size;