Page 1 sur 1

PARI gp

Publié : mar. 29/août/2006 6:54
par SPH
Je reviens avec des nouvelles sur la super calculatrice PARIgp.
Pour commencer, voici une doc en francais.
Bonne nouvelle egalement, a partir de la page 18, il y a des explications detaillées sur l'utilisation de ce logiciel via un autre (enfin, je crois). Comme je n'ai pas les competences, qq'un pourrait il regarder et me dire si c'est utilisable sous PB ??
Merci

Doc fr :
http://www.math.u-bordeaux.fr/~belabas/ ... igp-fr.pdf

Autre chose, le programme doit apparement commencé par :

Code : Tout sélectionner

#include <pari.h>
Cela se peut il en PB ?

Voici un exemple de code :

Code : Tout sélectionner

#include <pari/pari.h>
/*
GP;install("extgcd", "GG&&", "gcdex", "./libextgcd.so");
*/
/* return d = gcd(a,b), sets u, v such that au + bv = gcd(a,b) */
GEN
extgcd(GEN A, GEN B, GEN *U, GEN *V)
{
pari_sp av = avma;
GEN ux = gen_1, vx = gen_0, a = A, b = B;
if (typ(a) != t_INT || typ(b) != t_INT) pari_err(typeer, "extgcd");
if (signe(a) < 0) { a = negi(a); ux = negi(ux); }
while (!gcmp0(b))
{
GEN r, q = dvmdii(a, b, &r), v = vx;
vx = subii(ux, mulii(q, vx));
ux = v;
a = b; b = r;
}
*U = ux;
*V = diviiexact( subii(a, mulii(A,ux)), B );
gerepileall(av, 3, &a, U, V); return a;
}
int
main()
{
GEN x, y, d, u, v;
pari_init(1000000,2);
printf("x = "); x = gp_read_stream(stdin);
printf("y = "); y = gp_read_stream(stdin);
d = extgcd(x, y, &u, &v);
pariprintf("gcd = %Z\nu = %Z\nv = %Z\n", d,u,v);
return 0;
}

Re: PARI gp

Publié : mar. 29/août/2006 10:42
par KarLKoX
Tout est utilisable en PB depuis du code d'un autre langage quelque peu évolué (32 bits, supportant les dll ou au moins les .lib format COFF).
SPH a écrit :Je reviens avec des nouvelles sur la super calculatrice
Autre chose, le programme doit apparement commencé par :

Code : Tout sélectionner

#include <pari.h>
Cela se peut il en PB ?
C'est ce qu'on appel un fichier d'entête, c'est la que l'on déclare les prototypes, constantes et autre structure, en théorie, à chaque fichier entête correspond un fichier .c qui implémente les différents prototypes.

Re: PARI gp

Publié : mer. 30/août/2006 16:47
par SPH
KarLKoX a écrit :Tout est utilisable en PB depuis du code d'un autre langage quelque peu évolué (32 bits, supportant les dll ou au moins les .lib format COFF).
SPH a écrit :Je reviens avec des nouvelles sur la super calculatrice
Autre chose, le programme doit apparement commencé par :

Code : Tout sélectionner

#include <pari.h>
Cela se peut il en PB ?
C'est ce qu'on appel un fichier d'entête, c'est la que l'on déclare les prototypes, constantes et autre structure, en théorie, à chaque fichier entête correspond un fichier .c qui implémente les différents prototypes.
Pourrais tu essayer d'utiliser PARI sous PB ? (personne n'y est arrivé jusque la)

Publié : mer. 30/août/2006 17:07
par Dorian
Bah soit faut transformer le code en lib ou dll, ou le recoder en pure.

Je pense que la première est plus simple. Après j'en sais pas beaucoup plus, j'ai fuit le code quand j'ai vu que c'était du C++ ou C :oops: