```{index} single: PDL::Primitive; Perl module ``` # PDL::Primitive ```{pperl-module-badges} PDL::Primitive ``` ## Functions ### Other Functions #### [`inner`](Primitive/inner) `inner($a, $b)` -- inner (dot) product along the first dimension. #### `matmult` `matmult($a, $b [, $c])` — matrix multiplication. #### `append` `append($a, $b)` — concatenate two PDLs along dimension 0. Handles null PDL inputs: append(null, null) → empty, append(null, x) → x, etc. #### `interpol` `interpol($xi, $x, $y)` — linear interpolation. For each query point in `$xi`, find the corresponding y-value in the reference dataset (`$x`, `$y`). Mirrors upstream `PDL::Primitive::interpol` (`Primitive.pd:3010`) which delegates to `interpolate($xi, $x, $y, $yi)`. #### `indexND` `indexND($data, $indices)` — index into data using N-D coordinate columns. #### `axisvalues` `axisvalues($pdl)` — fill PDL with index values along dim 0. Mirrors `PDL::Primitive` pp_def 'axisvalues' Code => 'loop(n) %{ `$a`() = n; %}' Supports inplace: `axisvalues($pdl->inplace)` modifies `$pdl` directly. #### [`indadd`](Primitive/indadd) `indadd($input, $ind, $sum)` -- broadcasting index-add. #### [`uniqind`](Primitive/uniqind) `uniqind($pdl)` — return flat indices of unique elements. Mirrors `PDL::uniqind` from `Primitive.pm:727-756`. #### [`fibonacci`](Primitive/fibonacci) `fibonacci($n_or_pdl)` -- Fibonacci sequence constructor. ```{toctree} :hidden: :maxdepth: 1 Primitive/inner Primitive/indadd Primitive/uniqind Primitive/fibonacci ```