From 39c74498f77bc7f95c5ef208cbc1e0dff2c23b22 Mon Sep 17 00:00:00 2001 From: Siarhei Fedartsou Date: Tue, 28 May 2024 21:08:01 +0200 Subject: [PATCH] wip --- .../routing_algorithms/routing_base_mld.hpp | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/include/engine/routing_algorithms/routing_base_mld.hpp b/include/engine/routing_algorithms/routing_base_mld.hpp index e4345a3b1..029571de2 100644 --- a/include/engine/routing_algorithms/routing_base_mld.hpp +++ b/include/engine/routing_algorithms/routing_base_mld.hpp @@ -516,7 +516,8 @@ std::optional> runSearch(const DataFacade 0 && ( forward_heap_min < weight || reverse_heap_min < weight)) #else - while (forward_heap.Size() > 0 && forward_heap_min < weight_upper_bound) + while (forward_heap.Size() + reverse_heap.Size() > 0 && ( + forward_heap_min + reverse_heap_min < weight)) #endif { // std::cerr << "F: " << forward_heap_min << " R: " << reverse_heap_min << " W: " << weight << std::endl; @@ -528,13 +529,13 @@ std::optional> runSearch(const DataFacade( - // facade, reverse_heap, forward_heap, middle, weight, force_step_nodes, args...); - // if (!reverse_heap.Empty()) - // reverse_heap_min = reverse_heap.MinKey(); - // } + if (!reverse_heap.Empty()) + { + routingStep( + facade, reverse_heap, forward_heap, middle, weight, force_step_nodes, args...); + if (!reverse_heap.Empty()) + reverse_heap_min = reverse_heap.MinKey(); + } }; if (!reverse_heap.Empty()) { @@ -753,7 +754,7 @@ double getNetworkDistance(SearchEngineData &engine_working_data, // forward_heap.Clear(); - if (forward_heap.Empty()) { + //if (forward_heap.Empty()) { if (source_phantom.IsValidForwardSource()) { forward_heap.Insert(source_phantom.forward_segment_id.id, @@ -767,7 +768,7 @@ double getNetworkDistance(SearchEngineData &engine_working_data, EdgeWeight{0}, {source_phantom.reverse_segment_id.id, false, EdgeDistance{0}}); } -} +//} if (target_phantom.IsValidForwardTarget()) {