diff options
author | Gael Guennebaud <g.gael@free.fr> | 2014-07-22 09:32:40 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2014-07-22 09:32:40 +0200 |
commit | 2a251ffab0f3abd1fcfe340a4bee61e352d83424 (patch) | |
tree | c8b0c8a99abab6aafb82e0cb8620e8a65f4b96d0 /Eigen/src/SparseCore/SparseAssign.h | |
parent | 9b729f93a10a43a498f4c10f8d80c31a94ae7a0c (diff) |
Implement evaluator for sparse-selfadjoint products
Diffstat (limited to 'Eigen/src/SparseCore/SparseAssign.h')
-rw-r--r-- | Eigen/src/SparseCore/SparseAssign.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Eigen/src/SparseCore/SparseAssign.h b/Eigen/src/SparseCore/SparseAssign.h index 528d63e35..f3da8c6c4 100644 --- a/Eigen/src/SparseCore/SparseAssign.h +++ b/Eigen/src/SparseCore/SparseAssign.h @@ -127,6 +127,7 @@ template<typename Derived> template<typename OtherDerived> Derived& SparseMatrixBase<Derived>::operator=(const EigenBase<OtherDerived> &other) { + // TODO use the evaluator mechanism other.derived().evalTo(derived()); return derived(); } @@ -135,6 +136,7 @@ template<typename Derived> template<typename OtherDerived> Derived& SparseMatrixBase<Derived>::operator=(const ReturnByValue<OtherDerived>& other) { + // TODO use the evaluator mechanism other.evalTo(derived()); return derived(); } @@ -143,6 +145,7 @@ template<typename Derived> template<typename OtherDerived> inline Derived& SparseMatrixBase<Derived>::operator=(const SparseMatrixBase<OtherDerived>& other) { + // FIXME, by default sparse evaluation do not alias, so we should be able to bypass the generic call_assignment internal::call_assignment/*_no_alias*/(derived(), other.derived()); return derived(); } |