++ed by:
Bryan Jurish
and 1 contributors

# NAME

PDL::VectorValued - Utilities for vector-valued PDLs

# SYNOPSIS

`````` use PDL;
use PDL::VectorValued;

##---------------------------------------------------------------------
## ... stuff happens``````

# DESCRIPTION

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

# FUNCTIONS

## vv_uniqvec

``  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.

# Higher-Order Run-Length Encoding and Decoding

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

## rleND

``  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().

## rldND

``  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().

# Datatype Utilities

## vv_indx

``  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.

# ACKNOWLEDGEMENTS

perl by Larry Wall.

# AUTHOR

Bryan Jurish <moocow@cpan.org>

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