=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/kanExport1.c,v retrieving revision 1.18 retrieving revision 1.22 diff -u -p -r1.18 -r1.22 --- OpenXM/src/kan96xx/Kan/kanExport1.c 2005/06/16 05:07:23 1.18 +++ OpenXM/src/kan96xx/Kan/kanExport1.c 2020/10/06 11:33:46 1.22 @@ -1,5 +1,6 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport1.c,v 1.17 2005/06/09 04:09:22 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport1.c,v 1.21 2005/07/03 11:08:53 ohara Exp $ */ #include +#include #include "datatype.h" #include "stackm.h" #include "extern.h" @@ -19,6 +20,9 @@ struct object DegreeShiftD = OINIT; int DegreeShiftD_size = 0; int *DegreeShiftD_vec = NULL; +static struct object paddingVector(struct object ob, int table[], int m); +static struct object unitVector(int pos, int size,struct ring *r); + /** :kan, :ring */ struct object Kreduction(f,set) struct object f; @@ -88,6 +92,7 @@ struct object Kgroebner(ob) int sdflag = 0; int forceReduction = 0; int reduceOnly = 0; + int gbCheck = 0; /* see @s/2005/06/16-note.pdf */ int ob1Size, ob2Size, noZeroEntry; int *ob1ToOb2; @@ -103,8 +108,8 @@ struct object Kgroebner(ob) struct object newB = OINIT; struct object orgC = OINIT; struct object newC = OINIT; - static struct object paddingVector(struct object ob, int table[], int m); - static struct object unitVector(int pos, int size,struct ring *r); + struct object paddingVector(struct object ob, int table[], int m); + struct object unitVector(int pos, int size,struct ring *r); extern struct ring *CurrentRingp; StopDegree = 0x7fff; @@ -121,6 +126,7 @@ struct object Kgroebner(ob) if (ob2.tag != Sarray) { errorKan1("%s\n","Kgroebner(): The options must be given by an array."); } + /* Note: If you add a new option, change /configureGroebnerOption, too */ for (i=0; igb)); + putoa(rob,0,KsetAttribute(getoa(rob,0),KpoString("gb"),KpoInteger(grG->gb))); if (noZeroEntry) { return(rob); } @@ -318,6 +328,7 @@ struct object Kgroebner(ob) rob2 = newObjectArray(2); putoa(rob2,0,getoa(rob,0)); putoa(rob2,1,newB); + rob2=KsetAttribute(rob2,KpoString("gb"),KpoInteger(grG->gb)); return(rob2); break; case 3: @@ -338,6 +349,7 @@ struct object Kgroebner(ob) putoa(rob2,0,getoa(rob,0)); putoa(rob2,1,newB); putoa(rob2,2,newC); + rob2=KsetAttribute(rob2,KpoString("gb"),KpoInteger(grG->gb)); return(rob2); break; default: