[BACK]Return to gb.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan

Diff for /OpenXM/src/kan96xx/Kan/gb.c between version 1.6 and 1.8

version 1.6, 2002/02/10 08:22:56 version 1.8, 2003/08/19 08:02:09
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/gb.c,v 1.5 2001/05/04 01:06:23 takayama Exp $ */  /* $OpenXM: OpenXM/src/kan96xx/Kan/gb.c,v 1.7 2003/07/30 09:00:52 takayama Exp $ */
 /*  untabify on May 4, 2001 */  /*  untabify on May 4, 2001 */
 #include <stdio.h>  #include <stdio.h>
 #include "datatype.h"  #include "datatype.h"
Line 23  extern int UseCriterion2B;
Line 23  extern int UseCriterion2B;
 extern int Spairs;  extern int Spairs;
 extern int Criterion2B, Criterion2F, Criterion2M;  extern int Criterion2B, Criterion2F, Criterion2M;
 extern int AutoReduce;  extern int AutoReduce;
   extern int TraceLift;
   extern struct ring *TraceLift_ringmod;
 static int MaxLength[DMAX];  static int MaxLength[DMAX];
 static int SpNumber[DMAX];  static int SpNumber[DMAX];
   
Line 192  struct gradedPolySet *groebner_gen(f,needBack,needSyz,
Line 194  struct gradedPolySet *groebner_gen(f,needBack,needSyz,
   extern struct ring *CurrentRingp;    extern struct ring *CurrentRingp;
   extern char *F_mpMult;    extern char *F_mpMult;
   struct ring *rp;    struct ring *rp;
     int first;
   int statisticsPL, statisticsCount;    int statisticsPL, statisticsCount;
   
   if (Statistics) {    if (Statistics) {
Line 216  struct gradedPolySet *groebner_gen(f,needBack,needSyz,
Line 219  struct gradedPolySet *groebner_gen(f,needBack,needSyz,
     g->polys[i] = newPolySet(INITSIZE);      g->polys[i] = newPolySet(INITSIZE);
   }    }
   
     first = 1;
   for (i=0; i<r; i++) {    for (i=0; i<r; i++) {
     gt = getArrayOfPOLY(f,i);      gt = getArrayOfPOLY(f,i);
     if (gt ISZERO) { rp = CurrentRingp; } else { rp = gt->m->ringp; }      if (gt ISZERO) { rp = CurrentRingp; } else { rp = gt->m->ringp; }
           if (TraceLift && (!(gt ISZERO)) && first) {
             TraceLift_ringmod = newRingOverFp(rp,getPrime(TraceLift)); first = 0;
             if (KanGBmessage) printf("Prime number for the trace lift is %d.\n",
                                                              TraceLift_ringmod->p);
           }
     grade = -1; whereInG(g,gt,&grade,&indx,Sugar);      grade = -1; whereInG(g,gt,&grade,&indx,Sugar);
     if (KanGBmessage == 2) {      if (KanGBmessage == 2) {
       printf("init=%s, ",POLYToString(head(gt),'*',1));        printf("init=%s, ",POLYToString(head(gt),'*',1));
Line 236  struct gradedPolySet *groebner_gen(f,needBack,needSyz,
Line 245  struct gradedPolySet *groebner_gen(f,needBack,needSyz,
       g = putPolyInG(g,gt,grade,indx,syzp,1,serial);        g = putPolyInG(g,gt,grade,indx,syzp,1,serial);
     }      }
   
     markRedundant0(g,grade,indx);      /* markRedundant0(g,grade,indx); ?*/
           markGeneratorInG(g,grade,indx);  /*?*/
     if (Debug) {      if (Debug) {
       outputGradedPairs(d); outputGradedPolySet(g,needSyz);        outputGradedPairs(d); outputGradedPolySet(g,needSyz);
     }      }
Line 249  struct gradedPolySet *groebner_gen(f,needBack,needSyz,
Line 259  struct gradedPolySet *groebner_gen(f,needBack,needSyz,
   while ((top = getPair(d)) != (struct pair *)NULL) {    while ((top = getPair(d)) != (struct pair *)NULL) {
     ig = top->ig; ii = top->ii; /* [ig,ii] */      ig = top->ig; ii = top->ii; /* [ig,ii] */
     jg = top->jg; ji = top->ji; /* [jg,ji] */      jg = top->jg; ji = top->ji; /* [jg,ji] */
           /*
       if (g->polys[ig]->del[ii] || g->polys[jg]->del[ji]) {
         if (KanGBmessage) printf("p");
         continue;
       }  Don't do this.
           */
     gi = g->polys[ig]->g[ii];      gi = g->polys[ig]->g[ii];
     gj = g->polys[jg]->g[ji];      gj = g->polys[jg]->g[ji];
   

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.8

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>