InglêsFrancêsEspanhol

favicon do OnWorks

PDL :: Tipsp - Online na nuvem

Execute PDL :: Tipsp no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando PDL :: Tipsp 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 online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


PDL :: Dicas - Pequenos pedaços de arcanos úteis. Petiscos de programação e tal.

SINOPSE


usar PDL;

# Aconteça o que acontecer aqui.

DESCRIÇÃO


Esta página documenta expressões idiomáticas úteis, dicas úteis e dicas para usar Perl Data Language
v2.0.

Suporte
Use "ajuda ajuda" dentro perldl or pdl2 ou use o programa "pdldoc" da linha de comando
para acesso à documentação PerlDL. As versões HTML das páginas também devem ser
presente, no HtmlDocs / PDL diretório da distribuição PDL. Para encontrar este diretório,
tente o seguinte

pdl> foreach (map {"$ _ / PDL / HtmlDocs"} @ INC) {p "$ _ \ n" if -d $ _}

Indexação expressões idiomáticas
O código a seguir normaliza vários vetores em $ a. Isso funciona independentemente do
dimensionalidade de $ a.

$ a / = $ a-> soma->manequim(0);

O Quê is acontecendo?
Se você quiser ver o que o código está realmente fazendo, tente o comando

PDL :: Core ::set_debugging(1);

algum lugar. Isso expele uma grande quantidade de informações de depuração para PDL em STDOUT. Planos para o
futuro inclui tornar possível redirecionar a saída, e também tornar possível
selecione as mensagens com mais precisão.

Muitas das mensagens vêm de "Basic / Core / pdlapi.c" e você pode olhar a fonte para ver
o que está acontecendo.

Se você tiver algum tempo extra para trabalhar nesses mecanismos, informe o mailing pdl-porters
Lista.

Memória poupança
Se você estiver executando recursivamente algo que seleciona certos índices de um grande piddle,
como

enquanto(1) {
$ inds = onde ($ a> 0);
$ a = $ a-> índice ($ inds);
$ b = $ b-> índice ($ inds);
função ($ b, $ a);
}

Se você não está escrevendo em $ b, poupa muita memória alterá-lo para

$ b = $ b-> índice ($ inds) -> servidor;

O novo método "sever" faz com que a relação de write-back seja esquecida. É como
cópia exceto que muda o piddle original e o retorna).

Claro, a provavelmente melhor maneira de fazer o acima é

$ inds = xvals ($ a-> long);
enquanto(1) {
$ inds0 = onde ($ a> 0);
$ inds1 = $ inds-> index ($ inds) -> sever;
$ a = $ a0-> índice ($ inds1);
$ b = $ b-> índice ($ inds1) -> servidor;
função ($ b, $ a);
}

que não salva todas as instâncias temporárias de $ a na memória. Veja "mandel.pl" no
Demos subdiretório da distribuição PerlDL para um exemplo.

PP velocidade
Se você realmente deseja escrever código PP rápido, a primeira coisa que você precisa fazer é ter certeza
que seu compilador C tem permissão para fazer as otimizações necessárias.

O que isso significa é que você deve permitir o maior número de variáveis ​​possível para entrar em
registra:

loop (a)% {
$ a () + = $ COMP (foo_member) * $ b ()
%}

se expande para

para (i = 0; i <10000; i ++) {
a [i] + = __privtrans-> foo_member * b [i];
}

é o pior que você pode fazer, já que seu compilador C não tem permissão para assumir que "a"
não sobrescreve "foo_member" que inibe completamente a vetorização. Em vez disso, faça

float foo = $ COMP (foo_member);
loop (a)% {
$ a () + = foo * $ b ();
%}

Esta não é uma restrição causada pelo PP, mas pela semântica ANSI C. Claro, poderíamos copiar
a estrutura em variáveis ​​locais e de volta, mas isso pode causar coisas muito estranhas
as vezes.

Existem muitos outros problemas na organização de loops.

No momento, estamos planejando tornar o PP capaz de fazer coisas de largura fixa, bem como físicas
piddles (onde o loop nas primeiras dimensões seria mais barato, pois há menos
incrementos distintos, o que pode fazer a diferença em máquinas com um pequeno número de
registros).

Use PDL :: Tipsp online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    Clementine
    Clementine
    Clementine é uma música multiplataforma
    jogador e organizador de biblioteca inspirado por
    Amarok 1.4. Tem um rápido e
    interface fácil de usar e permite que você
    pesquise e...
    Baixar Clementine
  • 2
    XISMuS
    XISMuS
    ATENÇÃO: A atualização cumulativa 2.4.3 tem
    foi lançado !! A atualização funciona para qualquer
    versão 2.xx anterior. Se estiver atualizando
    da versão v1.xx, faça o download e
    i ...
    Baixar XISMuS
  • 3
    facetracknoir
    facetracknoir
    Programa de headtracking modular que
    suporta vários rastreadores de rosto, filtros
    e protocolos de jogo. Entre os rastreadores
    são o SM FaceAPI, AIC Inertial Head
    Rastreador ...
    Baixar facetracknoir
  • 4
    Código QR PHP
    Código QR PHP
    PHP QR Code é de código aberto (LGPL)
    biblioteca para gerar QR Code,
    Código de barras bidimensional. Baseado em
    Biblioteca C libqrencode, fornece API para
    criando código QR barc ...
    Baixe o código QR do PHP
  • 5
    freeciv
    freeciv
    Freeciv é um jogo gratuito baseado em turnos
    jogo de estratégia multijogador, em que cada
    jogador se torna o líder de um
    civilização, lutando para obter o
    objetivo final: ser ...
    Baixar Freeciv
  • 6
    Cuco Sandbox
    Cuco Sandbox
    Cuckoo Sandbox usa componentes para
    monitorar o comportamento do malware em um
    Ambiente sandbox; isolado do
    restante do sistema. Oferece automação
    análise o ...
    Baixar Cuckoo Sandbox
  • Mais "

Comandos Linux

Ad