use constexpr if
This commit is contained in:
parent
298a8e4d2f
commit
5e0f226322
@ -11,6 +11,7 @@
|
|||||||
#include <boost/assert.hpp>
|
#include <boost/assert.hpp>
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
#include <boost/core/ignore_unused.hpp>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
#include <tuple>
|
#include <tuple>
|
||||||
@ -311,15 +312,16 @@ void relaxOutgoingEdges(const DataFacade<Algorithm> &facade,
|
|||||||
const auto &cell =
|
const auto &cell =
|
||||||
cells.GetCell(metric, level, partition.GetCell(level, heapNode.node));
|
cells.GetCell(metric, level, partition.GetCell(level, heapNode.node));
|
||||||
auto destination = cell.GetDestinationNodes().begin();
|
auto destination = cell.GetDestinationNodes().begin();
|
||||||
auto distance = [&]() -> auto
|
auto distance = [&cell, node = heapNode.node ]() -> auto
|
||||||
{
|
{
|
||||||
if constexpr (IS_MAP_MATCHING)
|
if constexpr (IS_MAP_MATCHING)
|
||||||
{
|
{
|
||||||
|
|
||||||
return cell.GetOutDistance(heapNode.node).begin();
|
return cell.GetOutDistance(node).begin();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
boost::ignore_unused(cell, node);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -346,7 +348,7 @@ void relaxOutgoingEdges(const DataFacade<Algorithm> &facade,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
++destination;
|
++destination;
|
||||||
if (IS_MAP_MATCHING)
|
if constexpr (IS_MAP_MATCHING)
|
||||||
{
|
{
|
||||||
++distance;
|
++distance;
|
||||||
}
|
}
|
||||||
@ -358,15 +360,16 @@ void relaxOutgoingEdges(const DataFacade<Algorithm> &facade,
|
|||||||
const auto &cell =
|
const auto &cell =
|
||||||
cells.GetCell(metric, level, partition.GetCell(level, heapNode.node));
|
cells.GetCell(metric, level, partition.GetCell(level, heapNode.node));
|
||||||
auto source = cell.GetSourceNodes().begin();
|
auto source = cell.GetSourceNodes().begin();
|
||||||
auto distance = [&]() -> auto
|
auto distance = [&cell, node = heapNode.node ]() -> auto
|
||||||
{
|
{
|
||||||
if constexpr (IS_MAP_MATCHING)
|
if constexpr (IS_MAP_MATCHING)
|
||||||
{
|
{
|
||||||
|
|
||||||
return cell.GetInDistance(heapNode.node).begin();
|
return cell.GetInDistance(node).begin();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
boost::ignore_unused(cell, node);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -392,7 +395,7 @@ void relaxOutgoingEdges(const DataFacade<Algorithm> &facade,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
++source;
|
++source;
|
||||||
if (IS_MAP_MATCHING)
|
if constexpr (IS_MAP_MATCHING)
|
||||||
{
|
{
|
||||||
++distance;
|
++distance;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user