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

Diff for /OpenXM/src/kan96xx/Kan/resol.c between version 1.4 and 1.5

version 1.4, 2000/06/26 11:15:04 version 1.5, 2000/07/26 02:21:30
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/resol.c,v 1.3 2000/05/24 15:31:29 takayama Exp $ */  /* $OpenXM: OpenXM/src/kan96xx/Kan/resol.c,v 1.4 2000/06/26 11:15:04 takayama Exp $ */
 /* resol.c */  /* resol.c */
 #include <stdio.h>  #include <stdio.h>
 #include "datatype.h"  #include "datatype.h"
Line 46  struct arrayOfMonomialSyz enlargeArrayOfMonomialSyz(st
Line 46  struct arrayOfMonomialSyz enlargeArrayOfMonomialSyz(st
 static struct arrayOfMonomialSyz schreyerSkelton0(struct arrayOfPOLY g,int i)  static struct arrayOfMonomialSyz schreyerSkelton0(struct arrayOfPOLY g,int i)
 /* return value will be changed by the next call of this function. */  /* 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 int s_ij_size = 0;
   static struct monomialSyz **s_ij = NULL;    static struct monomialSyz **s_ij = NULL;
   struct monomialSyz *s;    struct monomialSyz *s;
Line 69  static struct arrayOfMonomialSyz schreyerSkelton0(stru
Line 69  static struct arrayOfMonomialSyz schreyerSkelton0(stru
       s->deleted = 0;        s->deleted = 0;
       sv = (*sp)((g.array)[i],(g.array)[j]);        sv = (*sp)((g.array)[i],(g.array)[j]);
       s->a = sv.a; s->b = sv.b;        s->a = sv.a; s->b = sv.b;
           /* If isConstant(sv.a) is added, (x^3 - y^2 z^2) deRham stops  
          with an error. I've not yet understood the reason.  
          At Posthouse at Heathrow. June 24, 2000 */  
           if (isConstant(sv.b)) {  
                 s->deleted = 1;  
           }  
     }else{      }else{
       s->deleted = 1;        s->deleted = 1;
     }      }
   }    }
   shellForMonomialSyz(s_ij,m-i-1);    shellForMonomialSyz(s_ij,m-i-1);
   if (RemoveRedundantInSchreyerSkelton) {    if (RemoveRedundantInSchreyerSkelton) {
    for (j=0; j<m-i-1;j++) {          do {
     s = s_ij[j];            flag = 0;
     if (s->deleted != 1) {        for (j=0; j<m-i-1;j++) {
       for (k=j+1; k<m-i-1; k++) {                  if (s_ij[j]->deleted != 1) {
         if (s_ij[k]->deleted != 1) {                    for (k=0; k<m-i-1;k++) {
           if ((*isReducible)(s_ij[k]->a,s->a)) s_ij[k]->deleted = 1;                          if ((j != k) && (s_ij[k]->deleted != 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.size = m-i-1;
   ans.limit = s_ij_size;    ans.limit = s_ij_size;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

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