From b43d093b6743121bd417dc7cb5ea598197897334 Mon Sep 17 00:00:00 2001 From: Mat Sutcliffe Date: Sun, 12 Mar 2023 17:00:22 +0000 Subject: [PATCH] Bypass double precision issues in CComSystem::isSameFrequency --- src/blackmisc/aviation/comsystem.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blackmisc/aviation/comsystem.cpp b/src/blackmisc/aviation/comsystem.cpp index ea283de84..bebfe492a 100644 --- a/src/blackmisc/aviation/comsystem.cpp +++ b/src/blackmisc/aviation/comsystem.cpp @@ -183,6 +183,7 @@ namespace BlackMisc::Aviation { if (freq1.isNull() || freq2.isNull()) { return false; } if (freq1 == freq2) { return true; } // shortcut for many of such comparisons + if (freq1.valueInteger(CFrequencyUnit::kHz()) == freq2.valueInteger(CFrequencyUnit::kHz())) { return true; } // .x20 == .x25 and .x70 == .x75 const int freq1End = static_cast(freq1.value(CFrequencyUnit::kHz())) % 100; const int freq2End = static_cast(freq2.value(CFrequencyUnit::kHz())) % 100;