Annotation of OpenXM/src/kan96xx/Kan/test.c, Revision 1.1
1.1 ! maekawa 1: struct object test2(ob) /* test2 */
! 2: struct object ob;
! 3: {
! 4: struct object rob;
! 5: int k;
! 6: static POLY f0;
! 7: static POLY f1;
! 8:
! 9: POLY addNode;
! 10: POLY f;
! 11: int i;
! 12: static int s=0;
! 13: extern struct ring *SmallRingp;
! 14: extern struct ring *CurrentRingp;
! 15: addNode = pMalloc(SmallRingp);
! 16: k = ob.lc.ival;
! 17: switch(s) {
! 18: case 0:
! 19: f0 = addNode;
! 20: for (i=0; i<=k; i++) {
! 21: f0->next = cxx(iiComb(k,i,CurrentRingp->p),0,i,CurrentRingp);
! 22: f0 = f0->next;
! 23: }
! 24: f0 = addNode->next;
! 25: s++;
! 26: rob.lc.poly = f0;
! 27: break;
! 28: case 1:
! 29: f1 = addNode;
! 30: for (i=0; i<=k; i++) {
! 31: f1->next = bxx(BiiComb(k,i),0,i,SmallRingp);
! 32: f1 = f1->next;
! 33: }
! 34: f1 = addNode->next;
! 35: s = 0;
! 36: rob.lc.poly = f1;
! 37: break;
! 38: default:
! 39: rob.lc.poly = POLYNULL;
! 40: s = 0;
! 41: break;
! 42: }
! 43:
! 44:
! 45: rob.tag = Spoly;
! 46: return(rob);
! 47: }
! 48:
! 49: struct object test1(ob)
! 50: struct object ob;
! 51: {
! 52: struct object rob;
! 53: int k;
! 54: static POLY f0;
! 55: static POLY f1;
! 56: /* It will dump the core
! 57: POLY f0; or = 1;
! 58: POLY f1;
! 59: */
! 60:
! 61: POLY addNode;
! 62: POLY f;
! 63: int i;
! 64: static int s=0;
! 65: extern struct ring *SmallRingp;
! 66: extern struct ring *CurrentRingp;
! 67: addNode = pMalloc(SmallRingp);
! 68: k = ob.lc.ival;
! 69: switch(s) {
! 70: case 0:
! 71: f0 = addNode;
! 72: for (i=0; i<k; i++) {
! 73: f0->next = cxx(i+1,0,i,CurrentRingp);
! 74: f0 = f0->next;
! 75: }
! 76: f0 = addNode->next;
! 77: s++;
! 78: rob.lc.poly = f0;
! 79: break;
! 80: case 1:
! 81: f1 = addNode;
! 82: for (i=k-1; i>=0; i--) {
! 83: f1->next = cxx(-i-1,0,-i,CurrentRingp);
! 84: f1 = f1->next;
! 85: }
! 86: f1 = addNode->next;
! 87: s++;
! 88: rob.lc.poly = f1;
! 89: break;
! 90: default:
! 91: f = addNode;
! 92: f->next = cxx(1,0,1,SmallRingp);
! 93: f = f->next;
! 94: f->coeffp->tag = POLY_COEFF;
! 95: f->coeffp->val.f = f0;
! 96: f->next = cxx(1,0,2,SmallRingp);
! 97: f = f->next;
! 98: f->coeffp->tag = POLY_COEFF;
! 99: f->coeffp->val.f = f1;
! 100: rob.lc.poly = addNode->next;
! 101: s = 0;
! 102: break;
! 103: }
! 104:
! 105:
! 106: rob.tag = Spoly;
! 107: return(rob);
! 108: }
! 109:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>