PDL :: io :: flexraw

PDL :: io :: flexraw é um formato de E / S flexível de E / S para Perlll.
Baixe Agora

PDL :: io :: flexraw Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Robin Williams
  • Site do editor:
  • http://search.cpan.org/~kgb/PDL-2.3.2/IO/FlexRaw/FlexRaw.pm

PDL :: io :: flexraw Tag


PDL :: io :: flexraw Descrição

PDL :: IO :: Flexraw é um formato de E / S flexível de E / S para Perlll. Pdl :: io :: flexraw é um formato de E / S flexível de E / S para PerlDl.Synopsis Use PDL; Use PDL :: IO :: Flexraw; ($ x, $ y, ...) = readflex ("filename" ) ($ x, $ y, ...) = MapFlex ("Nome do arquivo" $ hdr = writeflex ($ file, $ pdl1, $ pdl2, ...) writeflexhdr ($ file, $ hdr) flexraw é um método genérico para a entrada e saída de matrizes de dados `RAW '. Em particular, é projetado para ler a saída dos arquivos não formatados Fortran 77 e a função de gravação C de baixo nível, mesmo que os arquivos forem comprimidos ou gzipped. Como no Fastraw, o arquivo de dados é complementado por um arquivo de cabeçalho (embora isso possa ser substituído pelo argumento $ HDR opcional). Mais informações podem ser incluídas no arquivo de cabeçalho do que para fashraw - a descrição pode ser estendida a vários objetos de dados dentro de um único arquivo de entrada. Para o exemplo, para ler a saída de um programa Fortran Real * 4 A (4.600.600) aberto (8 , arquivo = 'banana', status = 'novo', form = 'não formatado') escreva (8) um fechamento (8) o arquivo de cabeçalho (`banana.hdr ') pode se parecer com # Flexraw File Cabeçalho # Word para F77 Form = Byte não formatado Byte 14 # Data float 3 # Isso é ignorado 4600600 Byte 14 Como é isso, como temos todos os dados de dados podem ser inseridos usando $ a = (readflex ('banana')) ; O formato do arquivo HDR é uma extensão daquela usada por Fastraw. As linhas de comentários (começando com #) são permitidas, assim como nomes descritivos (como em outro lugar: byte, curto, ushort, longo, flutuador, duplo) para os tipos de dados - Observe que o caso é ignorado pelo FlexRak. Após o tipo, um inteiro especifica o número de dimensões dos dados `Chunk 'e inteiros subseqüentes do tamanho de cada dimensão. Portanto, o especificador acima (`` float 34 600600 ') descreve nossa matriz fortran. Um escalar pode ser descrito como "float 0 '(ou` float 11', ou `float 21 1 ', etc.). Quando todas as dimensões são lidas - ou um # aparecer após o espaço em branco - o resto da linha de entrada atual é ignorado. O que sobre os 4 bytes extras na cabeça e cauda, que acabamos de jogar fora? Estes são adicionados por Fortran (pelo menos em Suns, Alpha e Linux), e especificam o número de bytes escritos por cada gravação - o mesmo número é colocado no início e no final de cada pedaço de dados. Você pode precisar saber tudo isso em alguns casos. Em geral, a Flexraw tenta lidar com isso, se você simplesmente adicionar uma linha dizendo `F77 'para o arquivo de cabeçalho, antes de quaisquer especificadores de dados: # FlexRak File Cabeçalho para F77 Form = F77 F77 # FLOATS 34 600600-- o A redundância nos arquivos de dados do Fortran permite até mesmo o FlexRak para lidar automaticamente com arquivos escritos em outras máquinas que usam encomendas de byte back-to-front. Isso nem sempre funciona - é um 1 em 4 bilhões de chances que não, mesmo se você ler regularmente arquivos de 4GB! Além disso, atualmente não funciona para arquivos compactados, para que você possa dizer "troca" (novamente antes de quaisquer especificadores de dados) para garantir que a ordem de byte seja trocada. O argumento opcional $ HDR permite que o uso de um arranjo anônimo para dar cabeçalho informações, em vez de usar um arquivo .hdr. Por exemplo, $ header = }]; @a = readflex ('banana', $ header); lê nosso arquivo de exemplo novamente. Como um caso especial, quando o NDIMS é 1, o Dims pode ser administrado como um PDL Scalar.CoM, ReadFlex e WriteFlex podem ser usados para gravar vários PDLs para um único arquivo - e. use o PDL; Use PDL :: IO :: Fasstraw; @pdls = ($ pdl1, $ pdl2, ...); $ hdr = writeflex ("fname", @ pdls); @ pdl2 = readflex ("fname", $ hdr); writeflexhdr ("fname", $ hdr); @ pdl3 = readflex ("fname"); - a WriteFlex produz o arquivo de dados e retorna o cabeçalho do arquivo como um hash anônimo, que pode ser gravado em um arquivo .hdr usando WriteFLEXHDR. A leitura de dados compactados é ligada automaticamente se o O nome do arquivo solicitado termina em .gz ou .z, ou se o nome do arquivo originalmente especificado não existir, mas um desses formulários compactados faz.Mapflex Memory Maps, em vez de ler, os arquivos de dados. Sua interface é semelhante a `readflex '. Opções extras especificam se os dados devem ser carregados "ReadOnly", se o arquivo de dados for para ser "creat'-ed de novo com base nas informações do cabeçalho ou" trunc'-ated até o comprimento dos dados lidos. A velocidade extra de acesso traz com ele algumas limitações: o MapFlex não lê dados compactados, detectar arquivos F77 ou ler arquivos F77 escritos por mais de uma única instrução de gravação não formatada. Mais a sério, as restrições de alinhamento de dados significam que o MapFlex não consegue ler alguns arquivos, dependendo dos requisitos do sistema operacional do host (também pode variar dependendo da configuração do sinalizador do `UAC em qualquer máquina). Você pode ter corrido em problemas semelhantes com blocos comuns no Fortran.Para instância, os números de ponto flutuante podem ter que alinhar em fronteiras de 4 bytes - se o arquivo de dados consistir em 3 bytes, um float, ele não pode ser lido. O MapFlex irá avisar sobre esse problema quando ocorrer, e devolver os PDLs mapeados antes que o problema surgisse. Isso pode ser tratado por reorganizar o arquivo de dados (grandes tipos primeiro ajuda, como regra de polegar), ou mais simplesmente usando `ReadFlex '. Requisitos: · Perl.


PDL :: io :: flexraw Software Relacionado

Apache :: LoggedAuthdbi.

Apache :: LoggedAuthdbi é um módulo Perl para adicionar um grau de proteção contra ataques de força bruta e compartilhamento de senha. ...

159

Download