aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/ProductBase.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2010-08-31 09:54:38 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2010-08-31 09:54:38 +0200
commitb49dde01dc70e0c3d4b6b6d67d5050f7a475c87e (patch)
tree35524d217d8b76a39d3d555c88a9c0c48e122dad /Eigen/src/Core/ProductBase.h
parentdd94f104429d417e6f40ac785a113ba872e56010 (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.h5
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;