Crafter.Math/interfaces
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf ed188f207b
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
..
Crafter.Math-Basic.cppm SPDX license update 2026-07-22 18:01:26 +02:00
Crafter.Math-Common.cppm SPDX license update 2026-07-22 18:01:26 +02:00
Crafter.Math-Intersection.cppm SPDX license update 2026-07-22 18:01:26 +02:00
Crafter.Math-MatrixRowMajor.cppm SPDX license update 2026-07-22 18:01:26 +02:00
Crafter.Math-Vector.cppm SPDX license update 2026-07-22 18:01:26 +02:00
Crafter.Math-VectorF16.cppm SPDX license update 2026-07-22 18:01:26 +02:00
Crafter.Math-VectorF32.cppm fix(vector): batched Dot in the scalar VectorF32 fallback 2026-10-06 16:52:24 +02:00
Crafter.Math.cppm SPDX license update 2026-07-22 18:01:26 +02:00