Go to the documentation of this file. 1 #ifndef GfxTL__L1NORM_HEADER__
2 #define GfxTL__L1NORM_HEADER__
9 template <
class VectorKernelT>
12 template <
class ScalarAT,
class ScalarBT>
18 template <
class Po
intAT,
class Po
intBT>
26 DistType d = p[0] -
v[0], di;
28 for (
unsigned int i = 1; i < m_dim; ++i)
36 template <
class Po
intAT,
class Po
intBT>
37 typename DistanceType<typename ScalarTypeDeferer<PointAT>::ScalarType,
44 template <
class ScalarT>
51 template <
class DistScalarT,
class DiffScalarT>
55 DiffScalarT cutDiff)
const
57 return boxSqrDist + (DistScalarT)cutDiff - (DistScalarT)boxDiff;
60 template <
class Po
intAT,
class Po
intBT>
61 typename DistanceType<typename ScalarTypeDeferer<PointAT>::ScalarType,
69 for (
unsigned int i = 0; i < m_dim; ++i)
76 else if (
a[i] >
max[i])
MatrixXX< C, R, T > max(const MatrixXX< C, R, T > &a, const MatrixXX< C, R, T > &b)
DistanceType< typename ScalarTypeDeferer< PointAT >::ScalarType, typename ScalarTypeDeferer< PointBT >::ScalarType >::Type Distance(const PointAT &p, const PointBT &v) const
PointT::value_type ScalarType
DistanceType< typename ScalarTypeDeferer< PointAT >::ScalarType, typename ScalarTypeDeferer< PointBT >::ScalarType >::Type SqrDistance(const PointAT &p, const PointBT &v) const
static ScalarT Abs(ScalarT s)
DistScalarT IncrementalBoxSqrDistance(DistScalarT boxSqrDist, DiffScalarT boxDiff, DiffScalarT cutDiff) const
double a(double t, double a0, double j)
DistanceType< typename ScalarTypeDeferer< PointAT >::ScalarType, typename ScalarTypeDeferer< PointBT >::ScalarType >::Type BoxSqrDistance(const PointAT &a, const PointBT &min, const PointBT &max) const
ScalarTypeConversion< ScalarAT, ScalarBT >::DifferenceType Type
MatrixXX< C, R, T > min(const MatrixXX< C, R, T > &a, const MatrixXX< C, R, T > &b)
double v(double t, double v0, double a0, double j)
ScalarT RootOfDistance(ScalarT sqrDistance) const