namespace mrpt::math::detail
namespace detail { // structs template <int R, int C> struct MatOrVecResizer; template <int R> struct MatOrVecResizer<R, 1>; template <int C> struct MatOrVecResizer<1, C>; template <> struct MatOrVecResizer<1, 1>; template <typename MAT, int TypeSizeAtCompileTime> struct TAuxResizer; template <typename MAT> struct TAuxResizer<MAT, -1>; // classes template <typename A, typename T> class AccessorIterator; template <typename U> class MatrixWrapper<U, true>; template <typename U> class MatrixWrapper<U, false>; template <typename U, bool B> class MatrixWrapper; template <typename A, typename T> class ReverseAccessorIterator; // global functions template <typename T, typename U, bool UIsObject, typename FunctionType> void applyFunction( CBinaryRelation<T, U, UIsObject>& o, FunctionType fun, size_t e1, size_t e2, const T& T1, const T& T2 ); template <typename T, typename U, bool UIsObject> void applyFunction( CBinaryRelation<T, U, UIsObject>& o, typename CBinaryRelation<T, U, UIsObject>::FunctionByReferencePass fun, size_t e1, size_t e2, const T& T1, const T& T2 ); template <typename SCALAR> double internal_kmeans( const bool use_kmeansplusplus_method, const size_t nPoints, const size_t k, const size_t dims, const SCALAR* points, const size_t attempts, SCALAR* out_center, int* out_assignments ); template <class LIST_OF_VECTORS1, class LIST_OF_VECTORS2> double stub_kmeans( ] const bool use_kmeansplusplus_method, const size_t k, const LIST_OF_VECTORS1& points, std::vector<int>& assignments, LIST_OF_VECTORS2* out_centers, const size_t attempts ); double internal_kmeans< double >( ] const bool use_kmeansplusplus_method, const size_t nPoints, const size_t k, const size_t dims, const double* points, const size_t attempts, double* out_center, int* out_assignments ); double internal_kmeans< float >( ] const bool use_kmeansplusplus_method, const size_t nPoints, const size_t k, const size_t dims, const float* points, const size_t attempts, float* out_center, int* out_assignments ); template <typename Scalar, typename VEC1, typename MATRIX1, typename MATRIX2> void sortEigResults( const VEC1& eVals, const MATRIX1& eVecs, std::vector<Scalar>& sorted_eVals, MATRIX2& sorted_eVecs ); } // namespace detail
Global Functions
template <typename T, typename U, bool UIsObject> void applyFunction( CBinaryRelation<T, U, UIsObject>& o, typename CBinaryRelation<T, U, UIsObject>::FunctionByReferencePass fun, size_t e1, size_t e2, const T& T1, const T& T2 )
Template specialization by reference type.