[BACK]Return to kerntest.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / pari-2.2 / src / test

Annotation of OpenXM_contrib/pari-2.2/src/test/kerntest.c, Revision 1.1

1.1     ! noro        1: #include <pari.h>
        !             2: #include <anal.h>
        !             3:
        !             4: GEN   gzero, gun, gdeux;
        !             5: ulong top, bot, avma, memused = 0;
        !             6: long  DEBUGLEVEL,DEBUGMEM = 0;
        !             7:
        !             8: void specinit()
        !             9: {
        !            10:   long size = 100000L;
        !            11:   bot = (long)malloc(size);
        !            12:   top = avma = bot + size;
        !            13:   gzero = malloc(2);
        !            14:   gzero[0] = evaltyp(t_INT)|evallg(2);
        !            15:   gzero[1] = evallgefint(2);
        !            16:   gun   = stoi(1);
        !            17:   gdeux = stoi(2);
        !            18: }
        !            19:
        !            20: void pari_err(long x, ...) { exit (0); }
        !            21: GEN gerepileuptoint(long av, GEN q){ return q; }
        !            22: void gerepilemanysp(long av, long tetpil, GEN* gptr[], long n){}
        !            23: void gerepilemany(long av, GEN* gptr[], long n){}
        !            24:
        !            25: void sorstring(char* b, long x)
        !            26: {
        !            27: #ifdef LONG_IS_64BIT
        !            28:   printf(b,(ulong)x>>32,x & MAXHALFULONG);
        !            29: #else
        !            30:   printf(b,x);
        !            31: #endif
        !            32: }
        !            33:
        !            34: void _voir(GEN x)
        !            35: {
        !            36:   long tx = typ(x), lx = lg(x),i;
        !            37:   sorstring(VOIR_STRING2,x[0]);
        !            38:   if (tx==t_INT) lx = lgefint(x);
        !            39:   for (i=1; i < lx; i++) sorstring(VOIR_STRING2,x[i]);
        !            40:   printf("\n");
        !            41: }
        !            42:
        !            43: int main()
        !            44: {
        !            45:   GEN x,y,r,z, xr,yr;
        !            46:   specinit();
        !            47:   x = stoi(187654321L);
        !            48:   y = stoi(-12345678L);
        !            49:   printf("INT: %ld\n", itos(x));
        !            50:   printf("conv:"); _voir(x);
        !            51:   printf("+:"); _voir(addii(x,y));
        !            52:   printf("-:"); _voir(subii(x,y));
        !            53:   printf("*:"); _voir(mulii(x,y));
        !            54:   printf("/:"); _voir(dvmdii(x,y, &z));
        !            55:   printf("rem:"); _voir(z);
        !            56:   printf("pow:\n");
        !            57:   z = mulii(x,x); _voir(z);
        !            58:   z = mulii(z,z); _voir(z);
        !            59:   z = mulii(z,z); _voir(z);
        !            60:   z = mulii(z,z); _voir(z);
        !            61:   z = mulii(z,z); _voir(z);
        !            62:   printf("invmod:"); invmod(y,z,&r); _voir(r);
        !            63:   xr = cgetr(DEFAULTPREC); affir(x, xr);
        !            64:   yr = cgetr(DEFAULTPREC); affir(y, yr);
        !            65:   printf("\nREAL: %f\n", rtodbl(xr));
        !            66:   printf("conv1:"); _voir(xr);
        !            67:   printf("conv2:"); _voir(dbltor(rtodbl(xr)));
        !            68:   printf("+:"); _voir(addrr(xr,yr));
        !            69:   printf("-:"); _voir(subrr(xr,yr));
        !            70:   printf("*:"); _voir(mulrr(xr,yr));
        !            71:   printf("/:"); _voir(divrr(xr,yr));
        !            72:   printf("gcc bug?:"); _voir(divrs(dbltor(3.),2));
        !            73:   return 0;
        !            74: }

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