Limbajul de date Perl

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 2 octombrie 2017; verificările necesită 2 modificări .
Limbaj de date Perl (PDL)
Clasa de limba vector ( en:Array Programming )
Aparut in 1996
Autor Carl Glazebrook, Charles Brinchmann, Thomas Lucca și Christian Soller
Dezvoltator Carl Glazebrook [d]
Eliberare 2.077 (16 martie 2022 ) ( 16.03.2022 )
A fost influențat APL , IDL , Perl
Licență Licență publică generală GNU , Licență artistică
Site-ul web pdl.perl.org

PDL (prescurtare de la limba engleză  P erl Data Language ) este un set de extensii vectoriale pentru limbajul de programare Perl versiunea 5. Conceput pentru calcule științifice și alte sarcini legate de procesarea unor cantități mari de date, inclusiv: procesarea imaginilor , simularea computerizată a sistemelor fizice.

PDL este conectat la un program Perl cu:use PDL;

Design limbaj

PDL este un limbaj vectorial: sintaxa expresiilor este similară cu notația matematică standard pentru operații pe vectori și matrice multidimensionale. În acest sens, PDL este similar cu limbajul de programare APL și este adesea comparat cu MATLAB , Interactive Data Language , NumPy și Octave . Spre deosebire de MATLAB și IDL, limbajul PDL permite o indexare și vectorizare mai flexibilă, de exemplu, dacă o funcție care procesează matrici bidimensionale este alimentată cu una tridimensională, atunci funcția va fi aplicată strat cu strat fiecărui strat al cubului.

De la începutul lui 2005, funcționalitatea asemănătoare PDL a fost planificată pentru a fi inclusă în cea de-a șasea versiune a limbajului ( Perl 6 ).

Grafică

PDL oferă interfețe pentru mai multe module pentru crearea graficelor. NetPBM este utilizat pentru I/O imagini; PLplot , PGPLOT și Karma sunt folosite pentru grafica 2D. Pentru grafica 3D, se folosește interfața OpenGL .

I/O

PDL oferă facilități pentru citirea și scrierea datelor în diferite formate, inclusiv JPEG , PNG , GIF , PPM , MPEG , FITS , NetCDF , GRIB , binar, CSV .

perldl

Interpretul interactiv perldl este de obicei instalat cu PDL , care vă permite să efectuați calcule simple fără a fi nevoie să creați fișiere cu textul programului. Exemplu Perldl:

perldl > $x = pdl [[ 1 , 2 ], [ 3 , 4 ]]; perldl > $y = pdl [[ 5 , 6 , 7 ], [ 8 , 9 , 0 ]]; perldl > $z = $x x $y ; perldl > p $z ; [ [ 21 24 7 ] [ 47 54 21 ] ]

În acest exemplu, sunt create două matrice și apoi, folosind operatorul supraîncărcat x, se realizează înmulțirea matricei. Comanda peste prescurtarea pentru print.

Implementare

Nucleul PDL este implementat în limbajul C. O mare parte din funcționalitate este implementată în PP , metalanjul PDL. Unele module sunt scrise în FORTRAN , cu o interfață către C sau PP. PP facilitează scrierea extensiilor la PDL în limbaj C.

Implementarea PDL folosește caracteristicile orientate pe obiecte ale lui Perl: PDL definește un nou obiect scalar de tip "PDL" (deseori denumit piddle , se comportă ca tipuri scalare) care conține matrici de dimensiune arbitrară. Toți operatorii de limbaj standard sunt supraîncărcați pentru a suporta în mod transparent obiectele piddle. Spre deosebire de matricele de limbaj standard, piddle-urile au fost concepute inițial pentru o procesare numerică eficientă.

Literatură

Link -uri