From 003bb82765a48df092e0d660d74f4cfac58c4baa Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 27 Jan 2025 14:56:52 +0100 Subject: [PATCH] Avoid potential division by zero --- .../gnuradio_blocks/hybrid_observables_gs.cc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/algorithms/observables/gnuradio_blocks/hybrid_observables_gs.cc b/src/algorithms/observables/gnuradio_blocks/hybrid_observables_gs.cc index 48a1b1c14..340c29fda 100644 --- a/src/algorithms/observables/gnuradio_blocks/hybrid_observables_gs.cc +++ b/src/algorithms/observables/gnuradio_blocks/hybrid_observables_gs.cc @@ -612,7 +612,7 @@ void hybrid_observables_gs::set_tag_timestamp_in_sdr_timeframe(const std::vector // to an absolute GPS TOW samplestamp associated with the current set of pseudoranges if (!d_TimeChannelTagTimestamps.empty()) { - double fs = 0; + double fs = 0.0; std::vector::const_iterator it; for (it = data.begin(); it != data.end(); it++) { @@ -622,21 +622,24 @@ void hybrid_observables_gs::set_tag_timestamp_in_sdr_timeframe(const std::vector break; } } - + if (fs < 1.0) + { + return; + } double delta_rxtime_to_tag; GnssTime current_tag; do { current_tag = d_TimeChannelTagTimestamps.front(); delta_rxtime_to_tag = (static_cast(rx_clock) / fs) - current_tag.rx_time; // delta time relative to receiver's start time - if (delta_rxtime_to_tag >= 0) + if (delta_rxtime_to_tag >= 0.0) { d_TimeChannelTagTimestamps.pop(); } } - while (delta_rxtime_to_tag >= 0.1 and !d_TimeChannelTagTimestamps.empty()); + while (delta_rxtime_to_tag >= 0.1 && !d_TimeChannelTagTimestamps.empty()); - if (delta_rxtime_to_tag >= 0 and delta_rxtime_to_tag <= 0.1) + if (delta_rxtime_to_tag >= 0.0 && delta_rxtime_to_tag <= 0.1) { // std::cout << "[Time ch][" << delta_rxtime_to_tag // << "] OBS RX TimeTag Week: " << current_tag.week