From bd2d330b25f4f57b64ddc125c70dadd42e1e3349 Mon Sep 17 00:00:00 2001 From: Christoph Hertzberg Date: Tue, 28 Oct 2014 13:31:00 +0100 Subject: [PATCH] Temporary workaround for bug #875: Let TriangularView::nonZeros() return nonZeros() of the nested expression --- Eigen/src/SparseCore/SparseTriangularView.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Eigen/src/SparseCore/SparseTriangularView.h b/Eigen/src/SparseCore/SparseTriangularView.h index 1f5e53155..e051f4486 100644 --- a/Eigen/src/SparseCore/SparseTriangularView.h +++ b/Eigen/src/SparseCore/SparseTriangularView.h @@ -50,6 +50,13 @@ protected: template void solveInPlace(MatrixBase& other) const; template void solveInPlace(SparseMatrixBase& 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(); + } + };