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