mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
* move memory related stuff to util/Memory.h
* clean ugly doxygen inheritence of expressions * keep improving the documentation... slowly !
This commit is contained in:
@@ -42,7 +42,12 @@ struct ei_traits<HashMatrix<_Scalar, _Flags> >
|
||||
|
||||
// TODO reimplement this class using custom linked lists
|
||||
template<typename _Scalar, int _Flags>
|
||||
class HashMatrix : public SparseMatrixBase<HashMatrix<_Scalar, _Flags> >
|
||||
class HashMatrix
|
||||
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
||||
: public SparseMatrixBase<HashMatrix<_Scalar, _Flags> >
|
||||
#else
|
||||
: public SparseMatrixBase
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
EIGEN_GENERIC_PUBLIC_INTERFACE(HashMatrix)
|
||||
|
||||
@@ -52,7 +52,12 @@ struct LinkedVectorChunk
|
||||
};
|
||||
|
||||
template<typename _Scalar, int _Flags>
|
||||
class LinkedVectorMatrix : public SparseMatrixBase<LinkedVectorMatrix<_Scalar,_Flags> >
|
||||
class LinkedVectorMatrix
|
||||
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
||||
: public SparseMatrixBase<LinkedVectorMatrix<_Scalar,_Flags> >
|
||||
#else
|
||||
: public SparseMatrixBase
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
EIGEN_GENERIC_PUBLIC_INTERFACE(LinkedVectorMatrix)
|
||||
|
||||
@@ -52,7 +52,12 @@ struct ei_traits<SparseMatrix<_Scalar, _Flags> >
|
||||
|
||||
|
||||
template<typename _Scalar, int _Flags>
|
||||
class SparseMatrix : public SparseMatrixBase<SparseMatrix<_Scalar, _Flags> >
|
||||
class SparseMatrix
|
||||
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
||||
: public SparseMatrixBase<SparseMatrix<_Scalar, _Flags> >
|
||||
#else
|
||||
: public SparseMatrixBase
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
EIGEN_GENERIC_PUBLIC_INTERFACE(SparseMatrix)
|
||||
@@ -92,7 +97,7 @@ class SparseMatrix : public SparseMatrixBase<SparseMatrix<_Scalar, _Flags> >
|
||||
return m_data.value(end-1);
|
||||
// ^^ optimization: let's first check if it is the last coefficient
|
||||
// (very common in high level algorithms)
|
||||
|
||||
|
||||
const int* r = std::lower_bound(&m_data.index(start),&m_data.index(end),inner);
|
||||
const int id = r-&m_data.index(0);
|
||||
return ((*r==inner) && (id<end)) ? m_data.value(id) : Scalar(0);
|
||||
|
||||
@@ -88,7 +88,11 @@ struct ei_traits<Product<LhsNested, RhsNested, SparseProduct> >
|
||||
};
|
||||
|
||||
template<typename LhsNested, typename RhsNested> class Product<LhsNested,RhsNested,SparseProduct> : ei_no_assignment_operator,
|
||||
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
||||
public MatrixBase<Product<LhsNested, RhsNested, SparseProduct> >
|
||||
#else
|
||||
public MatrixBase
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user