PARI gp

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

PARI gp

Message 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;
}
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Re: PARI gp

Message 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.
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: PARI gp

Message 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)
Dorian
Messages : 489
Inscription : mar. 15/mars/2005 15:33

Message 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:
Répondre