PDL :: indexation

PDL :: Indexing Perl Module contient un tutoriel sur la manière d'indexer des pidles.
Télécharger maintenant

PDL :: indexation Classement & Résumé

Publicité

  • Rating:
  • Licence:
  • Perl Artistic License
  • Prix:
  • FREE
  • Nom de l'éditeur:
  • Christian Soeller & Tuomas J. Lukka
  • Site Internet de l'éditeur:
  • http://search.cpan.org/~csoe/PDL-2.4.3/Basic/Pod/Indexing.pod

PDL :: indexation Mots clés


PDL :: indexation La description

PDL :: Indexing Perl Module contient un tutoriel sur la manière d'indexer des pidles. PDL :: Indexing Perl Module contient un didacticiel sur la manière de indexer des piddles.Cette Manpage devrait servir de premier tutoriel sur les caractéristiques d'indexation et de filetage de PDL.Cette Manpage est toujours dans le développement alpha et non encore terminé. Les commentaires "Meta" qui soulignent les déficiences / omissions de ce document seront entourés par des crochets ([]), par exemple. . En outre, il est possible qu'il y ait des erreurs dans les exemples de code. Veuillez signaler des erreurs à Christian Suleller (c.soeller@auckland.ac.nz) .stillez-vous à faire sont (veuillez porter avec nous et / ou demander la liste de diffusion, voir PDL :: FAQ): Document Perl Niveau ThreadingTheDreidsupdate et Description correcte des fonctions SLICENEW dans SLICE.PD (Affine, Lag, SplitDim) Reçage du paragraphe sur une filetage expliciteIndexing et une filetage avec le lot PDLA de la flexibilité et de la puissance de PDL repose sur les caractéristiques d'indexation et de boucle de l'extension PERL. L'indexation permet d'accéder aux données d'un objet PDL de manière très flexible. Le threading fournit une fonctionnalité de boucle implicite efficace (car les boucles sont implémentées comme code optimisé C code C). Les objets .PDL (ultérieurement souvent appelé "PDLS") sont des objets Perl représentant des réseaux multidimensionnels et des opérations sur celles-ci. Contrairement aux listes de style Perl @x simples, les données de la matrice sont stockées de manière compacte dans un seul bloc de mémoire, prenant ainsi beaucoup moins de mémoire et permettant une utilisation du code C rapide pour mettre en uvre des opérations (par exemple, l'addition, etc.) sur les PDLS.pdls peut avoir Childrentrentral à bon nombre des capacités d'indexation de PDL sont la relation entre «parent» et «enfant» entre PDLS. Beaucoup de commandes d'indexation créent une nouvelle PDL à partir d'un PDL existant. Le nouveau PDL est "enfant" et l'ancien est le "parent". Les données de la nouvelle PDL sont définies par une transformation qui spécifie comment générer (calculer) ses données des données du parent. La relation entre l'enfant PDL et son parent sont souvent bidirectionnelles, ce qui signifie que les changements dans les données de l'enfant sont propagés au parent. (Remarque: vous voyez, nous visons à notre terminologie déjà envers les nouvelles fonctionnalités de Dataflow. Le type de Dataflow utilisé par les commandes d'indexation (sur lesquels vous apprendrez dans une minute) est toujours opérationnel, non seulement lorsque vous avez explicitement activé sur Dataflow dans votre PDL en disant $ A-> DOFLOW. Pour plus d'informations sur les flux de données Vérifiez le MANPAGE DATAFLOW.) Une autre façon d'interpréter les PDL créés par nos commandes d'indexation consiste à les afficher comme une sorte de pointeur intelligent qui pointe retour à une partie ou à toutes les données de ses parents. Par conséquent, il n'est pas surprenant que les données du parent (ou une partie de celle-ci) changent lorsqu'elles sont manipulées via ce "pointeur". Après ces remarques introductives, nous espérons que vous vous préparez de ce qui se passe (plutôt que de vous confondre trop), nous allons plonger et commencer par une description des commandes d'indexation et des exemples typiques de la manière dont ils pourraient être utilisés dans des programmes PDL. Nous illustrerons davantage les analogies du pointeur / de Dataflow dans le contexte de certains des exemples ultérieurement. Il existe deux implémentations différentes de la relation "Smart Pointer" ": le premier, qui est un peu plus lent mais qui fonctionne pour toute transformation est simplement faire la transformation en avant et en arrière si nécessaire. L'autre est de considérer l'enfant pid de piddle `` virtuel '', qui stocke uniquement un pointeur sur les informations parent et d'accès afin que les routines qui utilisent le pidon enfant accèdent directement aux données du parent. Si le pactif virtuel est donné à une routine qui ne peut pas l'utiliser, PDL physique est de manière transparente de manière transparente le pidon virtuel avant de laisser la routine l'utiliser. Le pacte parent est déterminé par une transformation linéaire (+ constante) des indices du résultat du pidon enfant dans des pidles virtuels. Toutes les autres routines d'indexation (par exemple -> index (...)) entraînent des pidles physiques. Toutes les routines compilées par PP peuvent accepter des pidles affines (à l'exception de ces routines qui transmettent des pointeurs à des fonctions de la bibliothèque externes). NOTE QUE si quelque chose est affiné ou non n'affecte pas la sémantique de ce que vous faites de quelque manière que ce soit: A-> Index ( ...). = 5; $ A-> SLICE (...). = 5; modifier les données en $ a. L'affinité a toutefois un impact significatif sur l'utilisation et la performance de la mémoire. REquiels: · Conditions requises par PERL: · Perl


PDL :: indexation Logiciels associés