# PDL::Primitive
πŸ“¦ stdpdl
## Functions ### Other Functions #### [`inner`](Primitive/inner.md) `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.md) `indadd($input, $ind, $sum)` – broadcasting index-add. #### [`uniqind`](Primitive/uniqind.md) `uniqind($pdl)` β€” return flat indices of unique elements. Mirrors `PDL::uniqind` from `Primitive.pm:727-756`. #### [`fibonacci`](Primitive/fibonacci.md) `fibonacci($n_or_pdl)` – Fibonacci sequence constructor.