diff options
author | 2011-02-01 17:21:20 +0100 | |
---|---|---|
committer | 2011-02-01 17:21:20 +0100 | |
commit | 8915d5bd2217d4ebbf8fe54ebd2dfbf3f0c420c4 (patch) | |
tree | 55266bf06b395a0d0bcea81f6dd4e3ea0e5d85e5 /Eigen/src/Core/TriangularMatrix.h | |
parent | 59af20b390b5d55961e6bdc6c1dcc0733ac393d6 (diff) |
fix 168 : now TriangularView::solve returns by value making TriangularView::solveInPlace less important.
Also fix the very outdated documentation of this function.
Diffstat (limited to 'Eigen/src/Core/TriangularMatrix.h')
-rw-r--r-- | Eigen/src/Core/TriangularMatrix.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/Eigen/src/Core/TriangularMatrix.h b/Eigen/src/Core/TriangularMatrix.h index eb82538dd..f9fedcb0f 100644 --- a/Eigen/src/Core/TriangularMatrix.h +++ b/Eigen/src/Core/TriangularMatrix.h @@ -26,6 +26,12 @@ #ifndef EIGEN_TRIANGULARMATRIX_H #define EIGEN_TRIANGULARMATRIX_H +namespace internal { + +template<int Side, typename TriangularType, typename Rhs> struct triangular_solve_retval; + +} + /** \internal * * \class TriangularBase @@ -332,16 +338,16 @@ template<typename _MatrixType, unsigned int _Mode> class TriangularView } #endif // EIGEN2_SUPPORT - template<int Side, typename OtherDerived> - typename internal::plain_matrix_type_column_major<OtherDerived>::type - solve(const MatrixBase<OtherDerived>& other) const; + template<int Side, typename Other> + inline const internal::triangular_solve_retval<Side,TriangularView, Other> + solve(const MatrixBase<Other>& other) const; template<int Side, typename OtherDerived> void solveInPlace(const MatrixBase<OtherDerived>& other) const; - template<typename OtherDerived> - typename internal::plain_matrix_type_column_major<OtherDerived>::type - solve(const MatrixBase<OtherDerived>& other) const + template<typename Other> + inline const internal::triangular_solve_retval<OnTheLeft,TriangularView, Other> + solve(const MatrixBase<Other>& other) const { return solve<OnTheLeft>(other); } template<typename OtherDerived> |