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

Diff for /OpenXM/src/kan96xx/Kan/kanExport0.c between version 1.11 and 1.13

version 1.11, 2003/06/26 08:14:46 version 1.13, 2003/07/05 01:53:33
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.10 2002/11/04 10:53:55 takayama Exp $  */  /* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport0.c,v 1.12 2003/06/26 13:00:10 takayama Exp $  */
 #include <stdio.h>  #include <stdio.h>
 #include "datatype.h"  #include "datatype.h"
 #include "stackm.h"  #include "stackm.h"
Line 1539  int KsetUpRing(ob1,ob2,ob3,ob4,ob5)
Line 1539  int KsetUpRing(ob1,ob2,ob3,ob4,ob5)
   newRingp->outputOrder = outputVars;    newRingp->outputOrder = outputVars;
   newRingp->weightedHomogenization = 0;    newRingp->weightedHomogenization = 0;
   newRingp->degreeShiftSize = 0;    newRingp->degreeShiftSize = 0;
     newRingp->degreeShiftN = 0;
     newRingp->degreeShift = NULL;
   
   if (ob5.tag != Sarray || (getoaSize(ob5) % 2) != 0) {    if (ob5.tag != Sarray || (getoaSize(ob5) % 2) != 0) {
     errorKan1("%s\n","[(keyword) value (keyword) value ....] should be given.");      errorKan1("%s\n","[(keyword) value (keyword) value ....] should be given.");
Line 1592  int KsetUpRing(ob1,ob2,ob3,ob4,ob5)
Line 1594  int KsetUpRing(ob1,ob2,ob3,ob4,ob5)
         newRingp->weightedHomogenization = KopInteger(getoa(ob5,i+1));          newRingp->weightedHomogenization = KopInteger(getoa(ob5,i+1));
       } else if (strcmp(KopString(getoa(ob5,i)),"degreeShift") == 0) {        } else if (strcmp(KopString(getoa(ob5,i)),"degreeShift") == 0) {
         if (getoa(ob5,i+1).tag != Sarray) {          if (getoa(ob5,i+1).tag != Sarray) {
           errorKan1("%s\n","An array should be given. (degreeShift)");            errorKan1("%s\n","An array of array should be given. (degreeShift)");
         }          }
         {          {
           struct object ods;            struct object ods;
           int dssize,k;            struct object ods2;
             int dssize,k,j,nn;
           ods=getoa(ob5,i+1);            ods=getoa(ob5,i+1);
           dssize = getoaSize(ods);            if ((getoaSize(ods) < 1) || (getoa(ods,0).tag != Sarray)) {
               errorKan1("%s\n", "An array of array should be given. (degreeShift)");
             }
             nn = getoaSize(ods);
             dssize = getoaSize(getoa(ods,0));
           newRingp->degreeShiftSize = dssize;            newRingp->degreeShiftSize = dssize;
           newRingp->degreeShift = (int *) sGC_malloc(sizeof(int)*(dssize+1));            newRingp->degreeShiftN = nn;
             newRingp->degreeShift = (int *) sGC_malloc(sizeof(int)*(dssize*nn+1));
           if (newRingp->degreeShift == NULL) errorKan1("%s\n","No more memory.");            if (newRingp->degreeShift == NULL) errorKan1("%s\n","No more memory.");
           for (k=0; k<dssize; k++) {            for (j=0; j<nn; j++) {
             if (getoa(ods,k).tag == SuniversalNumber) {              ods2 = getoa(ods,j);
               (newRingp->degreeShift)[k] = coeffToInt(getoa(ods,k).lc.universalNumber);              for (k=0; k<dssize; k++) {
             }else{                if (getoa(ods2,k).tag == SuniversalNumber) {
               (newRingp->degreeShift)[k] = KopInteger(getoa(ods,k));                  (newRingp->degreeShift)[j*dssize+k] = coeffToInt(getoa(ods2,k).lc.universalNumber);
                 }else{
                   (newRingp->degreeShift)[j*dssize+k] = KopInteger(getoa(ods2,k));
                 }
             }              }
           }            }
         }          }
                   switch_function("grade","module1v");
                   /* Warning: grading is changed to module1v!! */
       } else {        } else {
         errorKan1("%s\n","Unknown keyword to set_up_ring@");          errorKan1("%s\n","Unknown keyword to set_up_ring@");
       }        }

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.13

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