MRPT  2.0.0
Classes | Functions
mrpt::math::detail Namespace Reference

Classes

class  AccessorIterator
 Template class for matrix accessor's iterators. More...
 
struct  MatOrVecResizer
 
struct  MatOrVecResizer< 1, 1 >
 
struct  MatOrVecResizer< 1, C >
 
struct  MatOrVecResizer< R, 1 >
 
class  MatrixWrapper
 This template is a trick to switch the type of a variable using a boolean variable in the template. More...
 
class  MatrixWrapper< U, false >
 
class  MatrixWrapper< U, true >
 
class  ReverseAccessorIterator
 Template class for matrix accessor's iterators. More...
 
struct  TAuxResizer
 Internal resize which compiles to nothing on fixed-size matrices. More...
 
struct  TAuxResizer< MAT, -1 >
 

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 specialization by reference type. More...
 
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 ([[maybe_unused]] 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)
 
template<>
double internal_kmeans< double > ([[maybe_unused]] 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)
 
template<>
double internal_kmeans< float > ([[maybe_unused]] 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)
 

Function Documentation

◆ applyFunction() [1/2]

template<typename T , typename U , bool UIsObject, typename FunctionType >
void mrpt::math::detail::applyFunction ( CBinaryRelation< T, U, UIsObject > &  o,
FunctionType  fun,
size_t  e1,
size_t  e2,
const T &  T1,
const T &  T2 
)
inline

Definition at line 562 of file CBinaryRelation.h.

References mrpt::math::CBinaryRelation< T, U, UIsObject >::getRelationValue().

Here is the call graph for this function:

◆ applyFunction() [2/2]

template<typename T , typename U , bool UIsObject>
void mrpt::math::detail::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 
)
inline

Template specialization by reference type.

Definition at line 572 of file CBinaryRelation.h.

References mrpt::math::CBinaryRelation< T, U, UIsObject >::getRelationValue().

Here is the call graph for this function:

◆ internal_kmeans()

template<typename SCALAR >
double mrpt::math::detail::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 
)

Referenced by stub_kmeans().

Here is the caller graph for this function:

◆ internal_kmeans< double >()

template<>
double mrpt::math::detail::internal_kmeans< double > ( [[maybe_unused] ] 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 
)

Definition at line 30 of file KMeans.cpp.

References RunKMeans().

Here is the call graph for this function:

◆ internal_kmeans< float >()

template<>
double mrpt::math::detail::internal_kmeans< float > ( [[maybe_unused] ] 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 
)

Definition at line 41 of file KMeans.cpp.

References RunKMeans().

Here is the call graph for this function:

◆ sortEigResults()

template<typename Scalar , typename VEC1 , typename MATRIX1 , typename MATRIX2 >
void mrpt::math::detail::sortEigResults ( const VEC1 &  eVals,
const MATRIX1 &  eVecs,
std::vector< Scalar > &  sorted_eVals,
MATRIX2 &  sorted_eVecs 
)

Definition at line 85 of file MatrixBase_impl.h.

Referenced by mrpt::math::MatrixBase< T, CMatrixFixed< T, ROWS, COLS > >::eig(), and mrpt::math::MatrixBase< T, CMatrixFixed< T, ROWS, COLS > >::eig_symmetric().

Here is the caller graph for this function:

◆ stub_kmeans()

template<class LIST_OF_VECTORS1 , class LIST_OF_VECTORS2 >
double mrpt::math::detail::stub_kmeans ( [[maybe_unused] ] 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 
)

Definition at line 30 of file include/mrpt/math/kmeans.h.

References ASSERT_, ASSERTMSG_, internal_kmeans(), mrpt::system::os::memcpy(), MRPT_END, and MRPT_START.

Referenced by mrpt::math::kmeans(), and mrpt::math::kmeanspp().

Here is the call graph for this function:
Here is the caller graph for this function:



Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020