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

Diff for /OpenXM/src/kan96xx/Kan/red.c between version 1.6 and 1.7

version 1.6, 2003/08/21 02:30:23 version 1.7, 2003/08/21 04:45:40
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/red.c,v 1.5 2003/07/30 09:00:52 takayama Exp $ */  /* $OpenXM: OpenXM/src/kan96xx/Kan/red.c,v 1.6 2003/08/21 02:30:23 takayama Exp $ */
 #include <stdio.h>  #include <stdio.h>
 #include "datatype.h"  #include "datatype.h"
 #include "extern2.h"  #include "extern2.h"
Line 209  POLY reduction1_gen(f,g,needSyz,c,h)
Line 209  POLY reduction1_gen(f,g,needSyz,c,h)
   struct ring *rp;    struct ring *rp;
   struct spValue sv;    struct spValue sv;
   POLY f2;    POLY f2;
     extern DoCancel;
     static int crcount=0;
   
   if (needSyz) {    if (needSyz) {
     if (f ISZERO) { rp = CurrentRingp; } else {rp = f->m->ringp; }      if (f ISZERO) { rp = CurrentRingp; } else {rp = f->m->ringp; }
     *c = cxx(1,0,0,rp);      *c = cxx(1,0,0,rp);
     *h = ZERO;      *h = ZERO;
   }    }
     if ((DoCancel&4) && (f != POLYNULL)) shouldReduceContent(f,1);
   
   sv = (*sp)(f,g);    sv = (*sp)(f,g);
   f2 = ppAddv(cpMult((sv.a)->coeffp,f),ppMult(sv.b,g));    f2 = ppAddv(cpMult((sv.a)->coeffp,f),ppMult(sv.b,g));
Line 230  POLY reduction1_gen(f,g,needSyz,c,h)
Line 232  POLY reduction1_gen(f,g,needSyz,c,h)
     *h = ppAdd(ppMult(sv.a,*h),sv.b);      *h = ppAdd(ppMult(sv.a,*h),sv.b);
   }    }
   
   
   
   while ((*isReducible)(f,g)) {    while ((*isReducible)(f,g)) {
     sv = (*sp)(f,g);      sv = (*sp)(f,g);
     f2 = ppAddv(cpMult((sv.a)->coeffp,f),ppMult(sv.b,g));      f2 = ppAddv(cpMult((sv.a)->coeffp,f),ppMult(sv.b,g));
Line 243  POLY reduction1_gen(f,g,needSyz,c,h)
Line 247  POLY reduction1_gen(f,g,needSyz,c,h)
       *c = ppMult(sv.a,*c);        *c = ppMult(sv.a,*c);
       *h = ppAdd(ppMult(sv.a,*h),sv.b);        *h = ppAdd(ppMult(sv.a,*h),sv.b);
     }      }
   
           if ((DoCancel&4) && (f != POLYNULL)) {
             if (shouldReduceContent(f,0)) {
                   struct coeff *cont;
                   f = reduceContentOfPoly(f,&cont);
                   shouldReduceContent(f,1);
                   if (DebugContentReduction) {
                     printf("CoNT=%s ",coeffToString(cont));
                     if (crcount % 10 == 0) fflush(NULL);
                     crcount++;
                   }
             }
           }
   
   }    }
   return(f);    return(f);
 }  }

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

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