mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-20 13:23:59 +00:00
committed by
Konstantin Pastbin
parent
c9cbb64f12
commit
76ffc99abd
40
libs/routing/base/astar_weight.hpp
Normal file
40
libs/routing/base/astar_weight.hpp
Normal file
@@ -0,0 +1,40 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user