mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2026-02-07 04:06:12 -05:00
The largest integer that 32-bit floating point can exactly represent is actually `(2^24)-1`, not`(2^23)-1` like the code assumes. This means, whenever we use s24 as an intermediate step to go between f32 and s32, we lose a bit of precision. s25_32 is really a i32 with highest byte always being a sign byte. Printing was done by adding ``` for(int e = 0; e != 13; ++e) fprintf(stderr, "%16.32e,", ((float*)m1)[e]); ``` to `compare_mem`. I don't like how these tests work. https://godbolt.org/z/abe94sedT |
||
|---|---|---|
| .. | ||
| examples | ||
| include | ||
| include-private/spa-private | ||
| plugins | ||
| tests | ||
| tools | ||
| meson.build | ||