* move memory related stuff to util/Memory.h

* clean ugly doxygen inheritence of expressions
* keep improving the documentation... slowly !
This commit is contained in:
Gael Guennebaud
2008-08-26 19:12:23 +00:00
parent 3e526dcdbd
commit 00a8d314c5
35 changed files with 445 additions and 188 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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);

View File

@@ -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: