fix(vector): batched Dot in the scalar VectorF32 fallback #2

Closed
jorijnvdgraaf wants to merge 1 commit from claude/scalar-fallback-dot into master

2026-10-06

fix(vector): batched Dot in the scalar VectorF32 fallback
MatrixRowMajor calls VectorF32<Len, 1>::Dot(a0, b0, a1, b1, ...) for
its matrix-vector products and for LookAt. The x86, wasm and RISC-V
backends each define it; the scalar fallback, which every other target
gets, did not. Anything that imports Crafter.Math on such a target
failed to compile with "no member named 'Dot' in VectorF32", aarch64
included: cross-building Crafter.Graphics for a phone stopped there.

The fallback gains the same batched Dot, written like the RISC-V one:
one lane per (a, b) pair, summing only the first Len lanes of each
input.

No test exercises it: the suite builds the x86 and RISC-V tiers only.
Checked by cross-building Crafter.Graphics for aarch64-alpine-linux-musl
and running its UI on the device.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 16:52:24 +02:00