namespace mrpt::math::detail

Overview

namespace detail {

// structs

template <>
struct MatOrVecResizer<1, 1>;

template <int R>
struct MatOrVecResizer<R, 1>;

template <int C>
struct MatOrVecResizer<1, C>;

template <int R, int C>
struct MatOrVecResizer;

template <typename MAT>
struct TAuxResizer<MAT, -1>;

template <typename MAT, int TypeSizeAtCompileTime>
struct TAuxResizer;

// classes

template <typename A, typename T>
class AccessorIterator;

template <typename U, bool B>
class MatrixWrapper;

template <typename U>
class MatrixWrapper<U, false>;

template <typename U>
class MatrixWrapper<U, true>;

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, typename Vector, typename Matrix1, typename Matrix2>
void sortEigResults(
    const Vector& 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.