PDL :: PP-Inlinep - Online na Nuvem

Este é o comando PDL :: PP-Inlinep que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador Windows online ou emulador MAC OS online

PROGRAMA:

NOME


Inline :: Pdlpp - Grava sub-rotinas PDL inline com PDL :: PP

DESCRIÇÃO


"Inline :: Pdlpp" é um módulo que permite escrever sub-rotinas PDL no estilo PDL :: PP.
O grande benefício em comparação com o "PDL :: PP" simples é que você pode escrever essas definições inline
em qualquer script perl antigo (sem o incômodo normal de criar Makefiles, construir, etc).
Desde a versão 0.30, o módulo Inline suporta várias linguagens de programação e cada
idioma tem seu próprio módulo de suporte. Este documento descreve como usar Inline com
PDL :: PP (ou melhor, será assim que esses documentos estiverem completos ";)".

Para obter mais informações sobre Inline em geral, consulte Inline.

Alguns scripts de exemplo que demonstram o uso de "Inline :: Pdlpp" podem ser encontrados no
Exemplo / InlinePdlpp diretório.

"Inline :: Pdlpp" é principalmente uma cópia descarada de "Inline :: C". A maioria dos elogios vai para Brian I.

Uso


Na verdade, você nunca usa "Inline :: Pdlpp" diretamente. É apenas um módulo de suporte para usar
"Inline.pm" com "PDL :: PP". Portanto, o uso é sempre:

use Inline Pdlpp => ...;

or

vincular Pdlpp Inline => ...;

Exemplos


Disponibilidade pendente de documentos completos, alguns exemplos rápidos que ilustram o uso típico.

A simples exemplo
# exemplo de script inlpp.pl
use PDL; # deve ser chamado antes de (!) 'usar chamadas Inline Pdlpp'

use Inline Pdlpp; # o código real está no bloco __Pdlpp__ abaixo

$ a = sequência 10;
imprimir $ a-> inc, "\ n";
print $ a-> inc-> dummy (1,10) -> tcumul, "\ n";

__DATA__

__Pdlpp__

pp_def ('inc',
Pars => 'i (); [o] o ()',
Código => '$ o () = $ i () + 1;',
);

pp_def ('tcumul',
Pars => 'in (n); [o] mul ()',
Código => '$ mul () = 1;
loop (n)% {
$ mul () * = $ em ();
%} ',
);
# end exemplo de script

Se você chamar este script, ele deve gerar uma saída semelhante a esta:

prompt> perl inlpp.pl
Em linha executando PDL :: PP versão 2.2 ...
[1 2 3 4 5 6 7 8 9 10]
[3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800 3628800]

O uso de "Inline :: Pdlpp" em geral é semelhante a "Inline :: C". Na ausência de
docs para "Inline :: Pdlpp" você pode querer comparar Inline :: C.

Code que utiliza externo bibliotecas, etc.
O script a seguir é um pouco mais complicado porque usa código de um
biblioteca (aqui de Numerical Recipes). Todas as informações relevantes sobre incluem
arquivos, bibliotecas e código de inicialização é especificado em uma chamada de configuração para "Inline". Para mais
hackers Perl experientes, pode ser útil saber que o formato é semelhante a esse
usado com ExtUtils :: MakeMaker. As palavras-chave são amplamente equivalentes às usadas com
"Inline :: C". Consulte abaixo para obter mais detalhes sobre o uso de "INC", "LIBS",
"AUTO_INCLUDE" e "BOOT".

use PDL; # deve ser chamado antes de (!) 'usar chamadas Pdlpp Inline'

use Inline Pdlpp => Config =>
INC => "-I $ ENV {HOME} / incluir",
LIBS => "-L $ ENV {HOME}/ lib -lnr -lm ",
# código a ser incluído no XS gerado
AUTO_INCLUDE => << 'EOINC',
#incluir
#include "nr.h" / * para poidev * /
#include "nrutil.h" / * para err_handler * /

static void nr_barf (char * err_txt)
{
fprintf (stderr, "Agora chamando croak ... \ n");
croak ("erro de tempo de execução NR:% s", err_txt);
}
EOINC
# instale nosso gerenciador de erros ao carregar o código Inline :: Pdlpp
BOOT => 'set_nr_err_handler (nr_barf);';

use Inline Pdlpp; # o código real está no bloco __Pdlpp__ abaixo

$ a = zeros(10) + 30 ;;
imprimir $ a->Poidev(5), "\ n";

__DATA__

__Pdlpp__

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

Pdlpp Configuração Opções


Para obter informações sobre como especificar opções de configuração Inline, consulte Inline. Esta seção
descreve cada uma das opções de configuração disponíveis para Pdlpp. A maioria das opções
correspondem às opções MakeMaker ou XS de mesmo nome. Veja ExtUtils :: MakeMaker e
perlxs.

AUTO_INCLUDE
Especifica instruções extras a serem incluídas automaticamente. Eles serão adicionados ao
padrões. Um caractere de nova linha será adicionado automaticamente. Faz essencialmente o mesmo que uma chamada
para "pp_addhdr". Para pequenos trechos de código, "AUTO_INCLUDE" provavelmente é sintaticamente melhor.

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

ABENÇOAR
O mesmo que o comando "pp_bless". Especifica o pacote (ou seja, classe) para o qual seu novo pp_defed
métodos serão adicionados. O padrão é "PDL" se omitido.

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

BOOT
Especifica o código C a ser executado na seção XS BOOT. Corresponde ao parâmetro XS.
Faz o mesmo que o comando "pp_add_boot". Freqüentemente usado para executar código apenas uma vez no carregamento
hora do módulo, por exemplo, uma chamada de inicialização da biblioteca.

CC
Especifique qual compilador usar.

CCFLAGS
Especifique sinalizadores de compilador extras.

INC
Especifica um caminho de inclusão a ser usado. Corresponde ao parâmetro MakeMaker.

use Inline Pdlpp => Config => INC => '-I / inc / caminho';

LD
Especifique qual vinculador usar.

LDDLFLAGS
Especifique quais sinalizadores de vinculador usar.

NOTA: Esses sinalizadores substituirão completamente os sinalizadores existentes, em vez de apenas adicionar
eles. Portanto, se você também precisar usá-los, especifique-os novamente aqui.

LIBS
Especifica bibliotecas externas que devem ser vinculadas ao seu código. Corresponde ao
Parâmetro MakeMaker.

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

or

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

FAÇA
Especifique o nome do utilitário 'make' a ser usado.

MEUEXTLIB
Especifica um objeto compilado pelo usuário que deve ser vinculado. Corresponde ao MakeMaker
parâmetro.

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

OTIMIZAR
Isso controla a configuração OPTIMIZE do MakeMaker. Ao definir este valor para '-g', você pode transformar
sobre depuração de suporte para suas extensões Inline. Isso permitirá que você seja capaz de definir
pontos de interrupção em seu código C usando um depurador como o gdb.

MAPAS DE TIPO
Especifica arquivos de mapa de tipos extras a serem usados. Corresponde ao parâmetro MakeMaker.

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

BARULHENTO
Mostre a saída de quaisquer compilações ocorrendo nos bastidores. Usa "tee" que deve ser
disponível no seu computador. O padrão é desativado.

Use PDL :: PP-Inlinep online usando serviços onworks.net



Programas online mais recentes para Linux e Windows