aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/NestByValue.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2008-05-28 09:09:18 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2008-05-28 09:09:18 +0000
commit73084dc754a64a5ae5753ef119399ea7e45c0626 (patch)
tree3b333df315c0b81cb8a49350278318974a97942c /Eigen/src/Core/NestByValue.h
parentf54760c889efcfabfdb8be594abee0647ed0c8da (diff)
* added _*coeffRef members in NestedByValue
* added ConjugateReturnType and AdjointReturnType that are type-defined to Derived& and Transpose<Derived> if the scalar type is not complex: this avoids abusive copies in the cache friendly Product
Diffstat (limited to 'Eigen/src/Core/NestByValue.h')
-rw-r--r--Eigen/src/Core/NestByValue.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/Eigen/src/Core/NestByValue.h b/Eigen/src/Core/NestByValue.h
index dc2ea950e..51f38e8d8 100644
--- a/Eigen/src/Core/NestByValue.h
+++ b/Eigen/src/Core/NestByValue.h
@@ -71,12 +71,23 @@ template<typename ExpressionType> class NestByValue
return m_expression.coeff(row, col);
}
+ inline Scalar& _coeffRef(int row, int col)
+ {
+ return m_expression.const_cast_derived().coeffRef(row, col);
+ }
+
template<int LoadMode>
inline const PacketScalar _packetCoeff(int row, int col) const
{
return m_expression.template packetCoeff<LoadMode>(row, col);
}
+ template<int LoadMode>
+ inline void _writePacketCoeff(int row, int col, const PacketScalar& x)
+ {
+ m_expression.const_cast_derived().template writePacketCoeff<LoadMode>(row, col, x);
+ }
+
protected:
const ExpressionType m_expression;
};