++ed by:

1 PAUSE user

Bryan Jurish
and 1 contributors


PDL::VectorValued - Utilities for vector-valued PDLs


 use PDL;
 use PDL::VectorValued;

 ## ... stuff happens


PDL::VectorValued provides generalizations of some elementary PDL functions to higher-order PDLs which treat vectors as "data values".



  Signature: (v(N,M); [o]vu(N,MU))

Drop-in replacement for broken uniqvec() which uses vv_qsortvec(). Otherwise copied from PDL::Primitive::primitive.pd.

See also: PDL::VectorValued::Utils::vv_qsortvec, PDL::Primitive::uniqvec.

Higher-Order Run-Length Encoding and Decoding

The following functions generalize the builtin PDL functions rle() and rld() for higher-order "values".

See also: PDL::VectorValued::Utils::rlevec(), PDL::VectorValued::Utils::rldvec().


  Signature: (data(@vdims,N); int [o]counts(N); [o]elts(@vdims,N))

Run-length encode a set of (sorted) n-dimensional values.

Generalization of rle() and rlevec(): given set of values $data, generate a vector $counts with the number of occurrences of each element (where an "element" is a matrix of dimensions @vdims ocurring as a sequential run over the final dimension in $data), and a set of vectors $elts containing the elements which begin a run. Really just a wrapper for clump() and rlevec().

See also: PDL::Slices::rle, PDL::Ngrams::VectorValued::Utils::rlevec.


  Signature: (int counts(N); elts(@vdims,N); [o]data(@vdims,N);)

Run-length decode a set of (sorted) n-dimensional values.

Generalization of rld() and rldvec(): given a vector $counts() of the number of occurrences of each @vdims-dimensioned element, and a set $elts() of @vdims-dimensioned elements, run-length decode to $data().

Really just a wrapper for clump() and rldvec().

See also: PDL::Slices::rld, PDL::VectorValued::Utils::rldvec

Datatype Utilities


  Signature: vv_indx()

Returns PDL::Type subclass used for indices. If built with PDL < v2.007, this should return PDL::long, otherwise PDL::indx.

Low-Level Functions

Some additional low-level functions are provided in the PDL::VectorValued::Utils package. See PDL::VectorValued::Utils for details.


perl by Larry Wall.


Bryan Jurish <moocow@cpan.org>

PDL by Karl Glazebrook, Tuomas J. Lukka, Christian Soeller, and others.


Copyright (c) 2007, Bryan Jurish. All rights reserved.

This package is free software. You may redistribute it and/or modify it under the same terms as Perl itself.


perl(1), PDL(3perl), PDL::VectorValued::Utils(3perl)