DenseVectorKernels
Contiguous dense Level 1 operations that are independently useful outside matrix algorithms. Implementations must read and write only the array windows selected by their offsets and lengths. Callers must supply non-negative lengths and valid windows; implementations need not validate them. A zero length is legal for every operation that accepts one and produces the documented empty result without reading either array.
Results agree to within rounding rather than bit for bit: compiled leaves may fuse multiplication and addition or reduce vector lanes as a tree. Shared algorithms must not depend on the final rounding order.
Functions
asum
axpy
Adds alpha * x[xOff + i] into y[yOff + i] over len entries. A zero alpha returns without evaluating the products, as required by standalone BLAS AXPY semantics.
dot
Returns sum(a[aOff + i] * b[bOff + i]) over len entries, or zero for an empty run.
iamax
nrm2
rot
Applies the plane rotation (c, s, -s, c) to two contiguous runs. Each pair is loaded before either result is stored. Equal runs are therefore safe, but callers must snapshot any other overlap whose stores could precede a later input load.
rotm
Applies a modified Givens transformation to two strided runs. Each pair is loaded before either result is stored. Equal runs are therefore safe, but callers must snapshot any other overlap whose stores could precede a later input load.
rotmg
scale
ssqd
sum
swap
Exchanges len entries of the two runs.