diff options
author | Gael Guennebaud <g.gael@free.fr> | 2015-10-26 16:16:24 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2015-10-26 16:16:24 +0100 |
commit | a5324a131f3816c8312e27a9dc928b8d56d8cf3b (patch) | |
tree | 9d241029b473b1c833b6dc2eaf8ef23b170b05ae /Eigen/src | |
parent | f93654ae16b261e462ee00c5255072f8dd7d387b (diff) |
bug #1092: fix iterative solver ctors for expressions as input
Diffstat (limited to 'Eigen/src')
-rw-r--r-- | Eigen/src/IterativeLinearSolvers/BiCGSTAB.h | 3 | ||||
-rw-r--r-- | Eigen/src/IterativeLinearSolvers/ConjugateGradient.h | 3 | ||||
-rw-r--r-- | Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h b/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h index 76e86a94a..4be00da47 100644 --- a/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +++ b/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h @@ -182,7 +182,8 @@ public: * this class becomes invalid. Call compute() to update it with the new * matrix A, or modify a copy of A. */ - explicit BiCGSTAB(const MatrixType& A) : Base(A) {} + template<typename MatrixDerived> + explicit BiCGSTAB(const EigenBase<MatrixDerived>& A) : Base(A.derived()) {} ~BiCGSTAB() {} diff --git a/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h b/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h index 59092dc18..dbedf28fd 100644 --- a/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +++ b/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h @@ -185,7 +185,8 @@ public: * this class becomes invalid. Call compute() to update it with the new * matrix A, or modify a copy of A. */ - explicit ConjugateGradient(const MatrixType& A) : Base(A) {} + template<typename MatrixDerived> + explicit ConjugateGradient(const EigenBase<MatrixDerived>& A) : Base(A.derived()) {} ~ConjugateGradient() {} diff --git a/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h b/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h index b578b2a7f..1593c57b5 100644 --- a/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +++ b/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h @@ -175,7 +175,8 @@ public: * this class becomes invalid. Call compute() to update it with the new * matrix A, or modify a copy of A. */ - explicit LeastSquaresConjugateGradient(const MatrixType& A) : Base(A) {} + template<typename MatrixDerived> + explicit LeastSquaresConjugateGradient(const EigenBase<MatrixDerived>& A) : Base(A.derived()) {} ~LeastSquaresConjugateGradient() {} |