mirror of
https://github.com/storytold/effectcraft.git
synced 2026-11-01 05:58:19 -06:00
The inverse transform computed its bit-reversal permutations and loop bounds at run time and went through one generic path for every size. inverse_dct, the ADST permutations and inverse_2d are now const generic over the size and inlined, so the permutations fold at compile time. forward_2d zeroed a 4 KiB tmp buffer on every call, even for 4x4. It now dispatches to a fixed-size version for 4, 8 and 16 (tmp is exactly n*n floats); 32 keeps the run-time version, which measured faster than a const 32 variant. The float operation order is unchanged. Output is bit-identical. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>