diff options
author | 2010-08-31 09:54:38 +0200 | |
---|---|---|
committer | 2010-08-31 09:54:38 +0200 | |
commit | b49dde01dc70e0c3d4b6b6d67d5050f7a475c87e (patch) | |
tree | 35524d217d8b76a39d3d555c88a9c0c48e122dad /Eigen/src/Core/ProductBase.h | |
parent | dd94f104429d417e6f40ac785a113ba872e56010 (diff) |
fix bad mat * mat * scalar when the implicit conversion operator to a Matrix is used
Diffstat (limited to 'Eigen/src/Core/ProductBase.h')
-rw-r--r-- | Eigen/src/Core/ProductBase.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Eigen/src/Core/ProductBase.h b/Eigen/src/Core/ProductBase.h index b3504f9d0..bc2a0f743 100644 --- a/Eigen/src/Core/ProductBase.h +++ b/Eigen/src/Core/ProductBase.h @@ -125,7 +125,7 @@ class ProductBase : public MatrixBase<Derived> operator const PlainObject& () const { m_result.resize(m_lhs.rows(), m_rhs.cols()); - this->evalTo(m_result); + derived().evalTo(m_result); return m_result; } @@ -216,6 +216,7 @@ class ScaledProduct typename NestedProduct::_LhsNested, typename NestedProduct::_RhsNested> Base; typedef typename Base::Scalar Scalar; + typedef typename Base::PlainObject PlainObject; // EIGEN_PRODUCT_PUBLIC_INTERFACE(ScaledProduct) ScaledProduct(const NestedProduct& prod, Scalar x) @@ -232,7 +233,7 @@ class ScaledProduct template<typename Dest> inline void scaleAndAddTo(Dest& dst,Scalar alpha) const { m_prod.derived().scaleAndAddTo(dst,alpha); } - + protected: const NestedProduct& m_prod; Scalar m_alpha; |