Add boundary test coverage: stableNorm, LinSpaced, complex GEMV, triangular solve

Summary

  • stable_norm.cpp: Test stableNorm/blueNorm at the 4096-element block boundary and with scale transitions across blocks (tiny→huge, huge→tiny, matrix columns with different magnitudes)
  • nullary.cpp: Test LinSpaced at vectorization packet boundary sizes with element-by-element verification, including the flip path. Add integer LinSpaced divisor path tests.
  • product_extra.cpp: Test complex GEMV with all conjugation combinations (none, lhs, rhs, both) at sizes exercising packet boundaries, including both ColMajor and RowMajor layouts.
  • product_trsolve.cpp: Test triangular solve scalar fallback path (OtherInnerStride != 1) at blocking boundary sizes (1–64 including 47/48/49). Covers Lower, Upper, UnitLower, InnerStride=2 and 3, vector RHS, and complex conjugate/adjoint variants.

~400 lines added across 4 files. All tests pass.

Test plan

  • ctest -R stable_norm — all subtests pass
  • ctest -R nullary — all subtests pass
  • ctest -R product_extra — all subtests pass
  • ctest -R product_trsolve — all subtests pass

🤖 Generated with Claude Code

Edited by Rasmus Munk Larsen

Merge request reports

Loading