21 template<
typename TCoordinate>
27 template<
typename TCoordinate>
37template<
typename TCoordinate>
40 TCoordinate d_max =
std::max(std::abs(
node.first - goal.first), std::abs(
node.second - goal.second));
41 TCoordinate d_min =
std::min(std::abs(
node.first - goal.first), std::abs(
node.second - goal.second));
43 return M_SQRT2 * d_min + (d_max - d_min);
48template<
typename TCoordinate>
51 return diagonalDistance < TCoordinate >;
Class extending the pair class from the standard library. Original reason is to allow printing of the...
Definition: pair.hpp:43
Definition: DiagonalDistance.hpp:18
static double diagonalDistance(const ext::pair< TCoordinate, TCoordinate > &goal, const ext::pair< TCoordinate, TCoordinate > &node)
Definition: DiagonalDistance.hpp:38
static std::function< double(const ext::pair< TCoordinate, TCoordinate > &, const ext::pair< TCoordinate, TCoordinate > &)> diagonalDistanceFunction()
Definition: DiagonalDistance.hpp:50
constexpr const T & max(const T &a)
Root case of maximum computation. The maximum from one value is the value itself.
Definition: algorithm.hpp:278
constexpr const T & min(const T &a)
Definition: algorithm.hpp:310
Definition: ReconstructPath.hpp:14