Programowanie w systemie UNIX/pari: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
m kolejność i gp
Linia 5:
* sudo apt install pari-gp
 
=sposoby użycia =
=użycie=
* samodzielny program gp ( shell kalkulator)
** [https://pari.math.u-bordeaux.fr/gp.html przez przeglądarkę] = online
* biblioteka pari ( = libpari )
** wywołanie w programie
* tłumaczenie programu gp do kodu w c za pomocą kompilatora gp2c
==użycie biblioteki ==
* opcja kompilatora <code>-lpari</code>
* dyrektywa linkera: <code>#include <pari/pari.h></code>
* bibliotek skompilowana: <code>libpari.so</code>
===typy===
* GEN = podstawowy typ dla wszystkich obiektów PARI, jest wskaźnikiem do typu long.
 
===pierwszy program===
=tworzenie kodu C z pliku gp=
<source lang=c>
/*
gcc t.c -lpari -Wall
 
- fatal error: pari/pari.h: Nie ma takiego pliku ani katalogu
compilation terminated.
- solution : install libpari
 
./a.out
 
 
 
*/
 
#include<stdio.h>
#include<pari/pari.h>
int main(void)
{
GEN i,j,k;
pari_init(500000,2);
i=gun;
j=stoi(3);
k=gadd(i,j);
printf("1+3=%s\n ",GENtostr(k));
 
pari_close();
return 0;
}
</source>
 
Wynik:
 
<pre>
1+3=4
</pre>
 
nie jest imponujący ale program działa (:-))<ref>[http://stackoverflow.com/questions/37878551/how-to-run-c-program-using-pari-library-with-gcc stackoverflow question : how-to-run-c-program-using-pari-library-with-gcc]</ref>
==gp2c = tworzenie kodu C z pliku gp==
 
Używamy programu gp2c: <ref>[http://pari.math.u-bordeaux.fr/pub/pari/manuals/gp2c/gp2c.html manual gp2c]</ref>
 
gp2c file.gp > file.gp.c
 
==przykład==
 
===przykład===
 
Mamy funkcję obliczającą liczbę składowych zbioru Mandelbrota odpowiadających zbiorom Julia z przyciągającym cyklem: <ref>[https://oeis.org/A000740 The On-Line Encyclopedia of Integer Sequences : A000740 ]</ref>
Linia 138 ⟶ 184:
</source>
 
=Przykłady=
 
==pierwszy program==
<source lang=c>
/*
gcc t.c -lpari -Wall
 
- fatal error: pari/pari.h: Nie ma takiego pliku ani katalogu
compilation terminated.
- solution : install libpari
 
==gp ==
./a.out
 
<pre>
gp
Reading GPRC: /etc/gprc ...Done.
 
GP/PARI CALCULATOR Version 2.9.4 (released)
amd64 running linux (x86-64/GMP-6.1.2 kernel) 64-bit version
compiled: Dec 19 2017, gcc version 7.3.0 (Ubuntu 7.3.0-1ubuntu1)
threading engine: pthread
(readline v7.0 enabled, extended help enabled)
 
Copyright (C) 2000-2017 The PARI Group
*/
 
PARI/GP is free software, covered by the GNU General Public License, and comes
#include<stdio.h>
WITHOUT ANY WARRANTY WHATSOEVER.
#include<pari/pari.h>
int main(void)
{
GEN i,j,k;
pari_init(500000,2);
i=gun;
j=stoi(3);
k=gadd(i,j);
printf("1+3=%s\n ",GENtostr(k));
 
Type ? for help, \q to quit.
pari_close();
Type ?15 for how to get moral (and possibly technical) support.
return 0;
}
</source>
 
parisize = 8000000, primelimit = 500000, nbthreads = 8
Wynik:
?
 
<pre>
1+3=4
</pre>
 
nie jest imponujący ale program działa (:-))<ref>[http://stackoverflow.com/questions/37878551/how-to-run-c-program-using-pari-library-with-gcc stackoverflow question : how-to-run-c-program-using-pari-library-with-gcc]</ref>
 
=Pomoc=
Linia 192 ⟶ 225:
 
 
=sposoby użycia =
* samodzielny program gp ( shell kalkulator)
** [https://pari.math.u-bordeaux.fr/gp.html przez przeglądarkę] = online
* biblioteka pari ( = libpari )
** wywołanie w programie
* tłumaczenie programu gp do kodu w c za pomocą kompilatora gp2c
 
=Źródła=