diff options
author | Gael Guennebaud <g.gael@free.fr> | 2010-06-25 11:36:38 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2010-06-25 11:36:38 +0200 |
commit | e313826890f581f1b9665422bab7b83b9daf5bfd (patch) | |
tree | a00dbdf84203cb652008e58646b8661049d21f3a /Eigen/src/Sparse/SparseMatrixBase.h | |
parent | 1927b4dff513f66866de205a46c66a1f2c877d01 (diff) |
add mixed sparse-dense outer product
Diffstat (limited to 'Eigen/src/Sparse/SparseMatrixBase.h')
-rw-r--r-- | Eigen/src/Sparse/SparseMatrixBase.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Eigen/src/Sparse/SparseMatrixBase.h b/Eigen/src/Sparse/SparseMatrixBase.h index 12a1cb538..5ca3b604b 100644 --- a/Eigen/src/Sparse/SparseMatrixBase.h +++ b/Eigen/src/Sparse/SparseMatrixBase.h @@ -362,15 +362,15 @@ template<typename Derived> class SparseMatrixBase : public EigenBase<Derived> operator*(const DiagonalBase<OtherDerived> &lhs, const SparseMatrixBase& rhs) { return SparseDiagonalProduct<OtherDerived,Derived>(lhs.derived(), rhs.derived()); } - // dense * sparse (return a dense object) + /** dense * sparse (return a dense object unless it is an outer product) */ template<typename OtherDerived> friend - const DenseTimeSparseProduct<OtherDerived,Derived> + const typename DenseSparseProductReturnType<OtherDerived,Derived>::Type operator*(const MatrixBase<OtherDerived>& lhs, const Derived& rhs) - { return DenseTimeSparseProduct<OtherDerived,Derived>(lhs.derived(),rhs); } + { return typename DenseSparseProductReturnType<OtherDerived,Derived>::Type(lhs.derived(),rhs); } - // sparse * dense (returns a dense object) + /** sparse * dense (returns a dense object unless it is an outer product) */ template<typename OtherDerived> - const SparseTimeDenseProduct<Derived,OtherDerived> + const typename SparseDenseProductReturnType<Derived,OtherDerived>::Type operator*(const MatrixBase<OtherDerived> &other) const; template<typename OtherDerived> |