MUDA
Loading...
Searching...
No Matches
point_point.h
1#pragma once
2#include <muda/muda_def.h>
3#include <muda/ext/eigen/eigen_core_cxx20.h>
4
5namespace muda::distance
6{
7template <class T, int dim>
8MUDA_GENERIC void point_point_distance(const Eigen::Vector<T, dim>& a,
9 const Eigen::Vector<T, dim>& b,
10 T& dist2);
11
12template <class T, int dim>
13MUDA_GENERIC void point_point_distance_gradient(const Eigen::Vector<T, dim>& a,
14 const Eigen::Vector<T, dim>& b,
15 Eigen::Vector<T, dim * 2>& grad);
16
17template <class T, int dim>
18MUDA_GENERIC void point_point_distance_hessian(const Eigen::Vector<T, dim>& a,
19 const Eigen::Vector<T, dim>& b,
20 Eigen::Matrix<T, dim * 2, dim * 2>& Hessian);
21} // namespace muda::distance
22
23#include "details/point_point.inl"