co-maps/libs/routing/base/astar_weight.hpp
2025-11-22 13:58:55 +01:00

40 lines
629 B
C++

#pragma once
#include "base/assert.hpp"
#include <limits>
namespace routing
{
template <typename Weight>
constexpr Weight GetAStarWeightZero();
template <>
constexpr double GetAStarWeightZero<double>()
{
return 0.0;
}
// Precision of comparison weights.
template <typename Weight>
constexpr Weight GetAStarWeightEpsilon()
{
UNREACHABLE();
}
template <>
constexpr double GetAStarWeightEpsilon<double>()
{
return 1e-6;
}
template <typename Weight>
constexpr Weight GetAStarWeightMax();
template <>
constexpr double GetAStarWeightMax<double>()
{
return std::numeric_limits<double>::max();
}
} // namespace routing