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

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>