aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/SparseCore/SparseTriangularView.h
diff options
context:
space:
mode:
Diffstat (limited to 'Eigen/src/SparseCore/SparseTriangularView.h')
-rw-r--r--Eigen/src/SparseCore/SparseTriangularView.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/Eigen/src/SparseCore/SparseTriangularView.h b/Eigen/src/SparseCore/SparseTriangularView.h
index b5fbcbdde..7695f299e 100644
--- a/Eigen/src/SparseCore/SparseTriangularView.h
+++ b/Eigen/src/SparseCore/SparseTriangularView.h
@@ -11,7 +11,10 @@
#ifndef EIGEN_SPARSE_TRIANGULARVIEW_H
#define EIGEN_SPARSE_TRIANGULARVIEW_H
-namespace Eigen {
+#ifndef EIGEN_PARSED_BY_DOXYGEN
+// Doxygen gets confused with template specialization:
+// https://bugzilla.gnome.org/show_bug.cgi?id=406027
+namespace Eigen {
template<typename MatrixType, unsigned int Mode> class TriangularViewImpl<MatrixType,Mode,Sparse>
: public SparseMatrixBase<TriangularView<MatrixType,Mode> >
@@ -50,13 +53,6 @@ protected:
template<typename OtherDerived> void solveInPlace(MatrixBase<OtherDerived>& other) const;
template<typename OtherDerived> void solveInPlace(SparseMatrixBase<OtherDerived>& other) const;
-
- inline Index nonZeros() const {
- // FIXME HACK number of nonZeros is required for product logic
- // this returns only an upper bound (but should be OK for most purposes)
- return derived().nestedExpression().nonZeros();
- }
-
};
@@ -191,6 +187,10 @@ public:
explicit unary_evaluator(const XprType &xpr) : m_argImpl(xpr.nestedExpression()) {}
+ inline Index nonZerosEstimate() const {
+ return m_argImpl.nonZerosEstimate();
+ }
+
class InnerIterator : public EvalIterator
{
typedef EvalIterator Base;
@@ -278,4 +278,6 @@ SparseMatrixBase<Derived>::triangularView() const
} // end namespace Eigen
+#endif // not EIGEN_PARSED_BY_DOXYGEN
+
#endif // EIGEN_SPARSE_TRIANGULARVIEW_H