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>