PDL::PP-Inlinep - Online di Cloud

Ini adalah perintah PDL::PP-Inlinep yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


Inline::Pdlpp - Tulis Subrutin PDL sebaris dengan PDL::PP

DESKRIPSI


"Inline::Pdlpp" adalah modul yang memungkinkan Anda untuk menulis subrutin PDL dalam gaya PDL::PP.
Manfaat besar dibandingkan dengan "PDL::PP" biasa adalah Anda dapat menulis definisi ini sebaris
dalam skrip Perl lama mana pun (tanpa kerumitan normal membuat Makefile, membangun, dll).
Sejak versi 0.30 modul Inline mendukung beberapa bahasa pemrograman dan masing-masing
bahasa memiliki modul dukungan sendiri. Dokumen ini menjelaskan cara menggunakan Inline with
PDL::PP (atau lebih tepatnya, setelah dokumen ini selesai ";)".

Untuk informasi lebih lanjut tentang Inline secara umum, lihat Inline.

Beberapa contoh skrip yang menunjukkan penggunaan "Inline::Pdlpp" dapat ditemukan di
Contoh/InlinePdlpp direktori.

"Inline::Pdlpp" sebagian besar merupakan rip-off tak tahu malu dari "Inline::C". Kebanyakan Kudos pergi ke Brian I.

penggunaan


Anda tidak pernah benar-benar menggunakan "Inline::Pdlpp" secara langsung. Ini hanya modul pendukung untuk digunakan
"Inline.pm" dengan "PDL::PP". Jadi penggunaannya selalu:

gunakan Inline Pdlpp => ...;

or

mengikat Inline Pdlpp => ...;

contoh


Menunggu ketersediaan dokumen lengkap beberapa contoh cepat yang menggambarkan penggunaan umum.

A sederhana contoh
# contoh skrip inlpp.pl
menggunakan PDL; # harus dipanggil sebelum (!) panggilan 'gunakan Inline Pdlpp'

gunakan Pdlpp Sebaris; # kode sebenarnya ada di blok __Pdlpp__ di bawah

$a = urutan 10;
print $a->inc,"\n";
print $a->inc->dummy(1,10)->tcumul,"\n";

__DATA__

__Pdlpp__

pp_def('termasuk',
Pars => 'i();[o] o()',
Kode => '$o() = $i() + 1;',
);

pp_def('tcumul',
Pars => 'dalam(n);[o] mul()',
Kode => '$mul() = 1;
lingkaran(n) %{
$mul() *= $dalam();
%}',
);
# akhir contoh skrip

Jika Anda memanggil skrip ini, itu akan menghasilkan output yang mirip dengan ini:

prompt> perl inlpp.pl
Inline menjalankan PDL::PP versi 2.2...
[1 2 3 4 5 6 7 8 9 10]
[3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800]

Penggunaan "Inline::Pdlpp" secara umum mirip dengan "Inline::C". Dengan tidak adanya penuh
docs untuk "Inline::Pdlpp" Anda mungkin ingin membandingkan Inline::C.

Kode bahwa kegunaan luar perpustakaan, dll
Script di bawah ini agak lebih rumit karena menggunakan kode dari eksternal
perpustakaan (di sini dari Resep Numerik). Semua informasi yang relevan mengenai termasuk
file, pustaka, dan kode boot ditentukan dalam panggilan konfigurasi ke "Inline". Untuk lebih
peretas Perl berpengalaman mungkin akan membantu untuk mengetahui bahwa formatnya mirip dengan itu
digunakan dengan ExtUtils::MakeMaker. Kata kunci sebagian besar setara dengan yang digunakan dengan
"Sebaris::C". Silakan lihat di bawah untuk rincian lebih lanjut tentang penggunaan "INC", "LIBS",
"AUTO_INCLUDE" dan "BOOT".

menggunakan PDL; # ini harus dipanggil sebelum (!) panggilan 'gunakan Inline Pdlpp'

gunakan Inline Pdlpp => Konfigurasi =>
INC => "-I$ENV{HOME}/include",
LIBS => "-L$ENV{HOME}/ lib -lnr -lm",
# kode yang akan disertakan dalam XS yang dihasilkan
AUTO_INCLUDE => <<'EOINC',
#termasuk
#sertakan "nr.h" /* untuk poidev */
#sertakan "nrutil.h" /* untuk err_handler */

statis kosong nr_barf(char *err_txt)
{
fprintf(stderr,"Sekarang memanggil croak...\n");
croak("NR runtime error: %s",err_txt);
}
EOINC
# instal penangan kesalahan kami saat memuat kode Inline::Pdlpp
BOOT => 'set_nr_err_handler(nr_barf);';

gunakan Pdlpp Sebaris; # kode sebenarnya ada di blok __Pdlpp__ di bawah

$a = nol(10)+30;;
cetak $a->poidev(5),"\n";

__DATA__

__Pdlpp__

pp_def('poidev',
Pars => 'xm(); [o] pd()',
GenericTypes => [L,F,D],
OtherPars => 'idum panjang',
Kode => '$pd() = poidev((float) $xm(), &$COMP(idum));',
);

Pdlpp konfigurasi Opsi


Untuk informasi tentang cara menentukan opsi konfigurasi sebaris, lihat sebaris. Bagian ini
menjelaskan setiap opsi konfigurasi yang tersedia untuk Pdlpp. Sebagian besar pilihan
sesuai dengan opsi MakeMaker atau XS dengan nama yang sama. Lihat ExtUtils::MakeMaker dan
perlxs.

OTOMATIS_TERMASUK
Menentukan pernyataan tambahan untuk disertakan secara otomatis. Mereka akan ditambahkan ke
default. Karakter baris baru akan ditambahkan secara otomatis. Pada dasarnya sama dengan panggilan
ke "pp_addhdr". Untuk potongan kode pendek "AUTO_INCLUDE" mungkin secara sintaksis lebih bagus.

gunakan Inline Pdlpp => Config => AUTO_INCLUDE => '#include "yourheader.h"';

MEMBERKATI
Sama seperti perintah "pp_bless". Menentukan paket (yaitu kelas) yang baru Anda pp_defed
metode akan ditambahkan. Default ke "PDL" jika dihilangkan.

gunakan Inline Pdlpp => Config => BLESS => 'PDL::Complex';

BOOT
Menentukan kode C yang akan dieksekusi di bagian XS BOOT. Sesuai dengan parameter XS.
Melakukan hal yang sama seperti perintah "pp_add_boot". Sering digunakan untuk mengeksekusi kode hanya sekali saat dimuat
waktu modul, misalnya panggilan inisialisasi perpustakaan.

CC
Tentukan kompiler mana yang akan digunakan.

CCFLAGS
Tentukan flag compiler tambahan.

INC
Menentukan jalur sertakan yang akan digunakan. Sesuai dengan parameter MakeMaker.

gunakan Inline Pdlpp => Config => INC => '-I/inc/path';

LD
Tentukan tautan mana yang akan digunakan.

LDLFLAGS
Tentukan flag linker mana yang akan digunakan.

CATATAN: Bendera ini akan sepenuhnya menggantikan bendera yang ada, bukan hanya menambahkan ke
mereka. Jadi jika Anda perlu menggunakannya juga, Anda harus menentukan ulang di sini.

LIBS
Menentukan pustaka eksternal yang harus ditautkan ke kode Anda. Sesuai dengan
parameter MakeMaker.

gunakan Inline Pdlpp => Config => LIBS => '-lyourlib';

or

gunakan Inline Pdlpp => Config => LIBS => '-L/your/path -lyourlib';

MEMBUAT
Tentukan nama utilitas 'make' yang akan digunakan.

MYEXLIB
Menentukan objek yang dikompilasi pengguna yang harus ditautkan. Sesuai dengan MakeMaker
parameter.

gunakan Inline Pdlpp => Config => MYEXTLIB => '/your/path/yourmodule.so';

MENGOPTIMALKAN
Ini mengontrol pengaturan MakeMaker OPTIMIZE. Dengan menyetel nilai ini ke '-g', Anda dapat mengubah
pada dukungan debugging untuk ekstensi Inline Anda. Ini akan memungkinkan Anda untuk dapat mengatur
breakpoints dalam kode C Anda menggunakan debugger seperti gdb.

TYPEMAP
Menentukan file typemap tambahan untuk digunakan. Sesuai dengan parameter MakeMaker.

gunakan Inline Pdlpp => Config => TYPEMAPS => '/your/path/typemap';

BISING
Tampilkan output dari kompilasi apa pun yang terjadi di balik layar. Menggunakan "tee" yang harus
tersedia di komputer Anda. Standar nonaktif.

Gunakan PDL::PP-Inlinep online menggunakan layanan onworks.net



Program online Linux & Windows terbaru