Don't use stalling in core search

This commit is contained in:
Patrick Niklaus 2015-10-08 22:11:34 +02:00
parent 78283a0e0e
commit fd84827e51
2 changed files with 23 additions and 19 deletions

View File

@ -194,12 +194,12 @@ class DirectShortestPathRouting final
if (!forward_core_heap.Empty())
{
super::RoutingStep(forward_core_heap, reverse_core_heap, &middle, &distance,
min_edge_offset, true);
min_edge_offset, true, false);
}
if (!reverse_core_heap.Empty())
{
super::RoutingStep(reverse_core_heap, forward_core_heap, &middle, &distance,
min_edge_offset, false);
min_edge_offset, false, false);
}
}

View File

@ -64,7 +64,8 @@ template <class DataFacadeT, class Derived> class BasicRoutingInterface
NodeID *middle_node_id,
int *upper_bound,
const int min_edge_offset,
const bool forward_direction) const
const bool forward_direction,
const bool stalling=true) const
{
const NodeID node = forward_heap.DeleteMin();
const int distance = forward_heap.GetKey(node);
@ -99,6 +100,8 @@ template <class DataFacadeT, class Derived> class BasicRoutingInterface
}
// Stalling
if (stalling)
{
for (const auto edge : facade->GetAdjacentEdgeRange(node))
{
const EdgeData &data = facade->GetEdgeData(edge);
@ -119,6 +122,7 @@ template <class DataFacadeT, class Derived> class BasicRoutingInterface
}
}
}
}
for (const auto edge : facade->GetAdjacentEdgeRange(node))
{