aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Sparse
diff options
context:
space:
mode:
Diffstat (limited to 'Eigen/src/Sparse')
-rw-r--r--Eigen/src/Sparse/HashMatrix.h7
-rw-r--r--Eigen/src/Sparse/LinkedVectorMatrix.h7
-rw-r--r--Eigen/src/Sparse/SparseMatrix.h9
-rw-r--r--Eigen/src/Sparse/SparseProduct.h4
4 files changed, 23 insertions, 4 deletions
diff --git a/Eigen/src/Sparse/HashMatrix.h b/Eigen/src/Sparse/HashMatrix.h
index 992486f5a..0017d1998 100644
--- a/Eigen/src/Sparse/HashMatrix.h
+++ b/Eigen/src/Sparse/HashMatrix.h
@@ -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)
diff --git a/Eigen/src/Sparse/LinkedVectorMatrix.h b/Eigen/src/Sparse/LinkedVectorMatrix.h
index 969aee57b..2ffb1d930 100644
--- a/Eigen/src/Sparse/LinkedVectorMatrix.h
+++ b/Eigen/src/Sparse/LinkedVectorMatrix.h
@@ -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)
diff --git a/Eigen/src/Sparse/SparseMatrix.h b/Eigen/src/Sparse/SparseMatrix.h
index dbc436f80..acf0e10b2 100644
--- a/Eigen/src/Sparse/SparseMatrix.h
+++ b/Eigen/src/Sparse/SparseMatrix.h
@@ -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);
diff --git a/Eigen/src/Sparse/SparseProduct.h b/Eigen/src/Sparse/SparseProduct.h
index a4d9a4590..e1659c49e 100644
--- a/Eigen/src/Sparse/SparseProduct.h
+++ b/Eigen/src/Sparse/SparseProduct.h
@@ -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: