=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/kanExport1.c,v retrieving revision 1.13 retrieving revision 1.16 diff -u -p -r1.13 -r1.16 --- OpenXM/src/kan96xx/Kan/kanExport1.c 2004/07/31 02:23:02 1.13 +++ OpenXM/src/kan96xx/Kan/kanExport1.c 2004/09/05 07:42:43 1.16 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport1.c,v 1.12 2004/07/30 11:21:55 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/kanExport1.c,v 1.15 2004/08/31 05:30:20 takayama Exp $ */ #include #include "datatype.h" #include "stackm.h" @@ -997,6 +997,7 @@ struct object oInitW(ob,oWeight) if (oWeight.tag != Sarray) { errorKan1("%s\n","oInitW(): the second argument must be array."); } + oWeight = Kto_int32(oWeight); n = getoaSize(oWeight); if (n == 0) { m = getoaSize(ob); @@ -1151,6 +1152,7 @@ struct object KordWsAll(ob,oWeight) if (oWeight.tag != Sarray) { errorKan1("%s\n","ordWsAll(): the second argument must be array."); } + oWeight = Kto_int32(oWeight); n = getoaSize(oWeight); if (n == 0) { m = getoaSize(ob); @@ -1403,7 +1405,7 @@ struct object KgetExponents(struct object obPoly,struc } /* type == 0 x,y,Dx,Dy (no commutative, no vector) - type == 1 x,y,h,Dx,Dy,H (commutative & no vector) + type == 1 x,y,Dx,Dy,h,H (commutative & no vector) type == 2 x,y,Dx,Dy,h (commutative & no vector) */ if (f ISZERO) { @@ -1442,7 +1444,11 @@ struct object KgetExponents(struct object obPoly,struc }else{ errorKan1("%s\n","KgetExponent, unknown type."); } - hsize = size/2; + if (type == 1 || type == 2) { + hsize = (size-cc)/2; + }else{ + hsize = size/2; + } if (f ISZERO) { tob = newObjectArray(size); for (i=0; i=0; i--) { + putoa(tob,hsize+r,KpoInteger(tf->e[i].D)); + r++; putoa(tob,hsize+r,KpoInteger(tf->e[i].x)); - putoa(tob,r,KpoInteger(tf->e[i].D)); r++; } }else if (type == 2) {