mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2026-10-19 05:52:36 +00:00
The symbol alignment term of compute_message_timestamp() used the opposite sign convention to the sample alignment term. In both aligners, true means the non-shifted hypothesis won (no correction) and false means the shifted one won (-1 unit), so the symbol term must be (symbol_aligned ? 0 : -1). Two of the unit tests added along with that function were failing as a result, which is what broke the check step of the CI on all three platforms. Also express the correction bound in whole code periods rather than comparing doubles at an exact boundary: the worst case is 3 code periods (1 from the sample-pairing ambiguity plus 2 from the symbol-pairing one), not 2, and the floating-point comparison was fragile at that boundary. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>