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