mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-11-19 16:45:17 +00:00
Implement converting a vector of 32-bit floating point complex numbers into a vector of 8-bit integer complex numbers using RVV C intrinsics in `volk_gnsssdr_32fc_convert_8i_rvv`. Required a lot of debugging, with attempts ranging from saturation to not doing a narrowing conversion to using the specification-recommended "round-to-odd" conversion. In end, the problem was that the generic implementation, with no notice in the function documentation at all, actually multiplies the floating-point number by `INT8_MAX` before converting. Signed-off-by: Marcus Alagar <mvala079@gmail.com>