diff options
author | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2012-06-24 17:35:27 +0100 |
---|---|---|
committer | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2012-06-24 17:35:27 +0100 |
commit | 8994f9962a7a0b5e439beb866f309f83d31f0b00 (patch) | |
tree | 7431f18b21dcc569f9a6d0c7d1388027428d40e2 /Eigen | |
parent | d0d077b21218034df2518c86981670281f9a142c (diff) |
Fix bug in {Matrix,Array}Wrapper evaluator
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/CoreEvaluators.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/Eigen/src/Core/CoreEvaluators.h b/Eigen/src/Core/CoreEvaluators.h index 1d4ef8032..cc8477598 100644 --- a/Eigen/src/Core/CoreEvaluators.h +++ b/Eigen/src/Core/CoreEvaluators.h @@ -793,10 +793,12 @@ protected: // evaluator_impl_wrapper_base<T> is a common base class for the // MatrixWrapper and ArrayWrapper evaluators. -template<typename ArgType> +template<typename XprType> struct evaluator_impl_wrapper_base - : evaluator_impl_base<ArgType> + : evaluator_impl_base<XprType> { + typedef typename remove_all<typename XprType::NestedExpressionType>::type ArgType; + evaluator_impl_wrapper_base(const ArgType& arg) : m_argImpl(arg) {} typedef typename ArgType::Index Index; @@ -855,23 +857,23 @@ protected: template<typename ArgType> struct evaluator_impl<MatrixWrapper<ArgType> > - : evaluator_impl_wrapper_base<ArgType> + : evaluator_impl_wrapper_base<MatrixWrapper<ArgType> > { typedef MatrixWrapper<ArgType> XprType; evaluator_impl(const XprType& wrapper) - : evaluator_impl_wrapper_base<ArgType>(wrapper.nestedExpression()) + : evaluator_impl_wrapper_base<MatrixWrapper<ArgType> >(wrapper.nestedExpression()) { } }; template<typename ArgType> struct evaluator_impl<ArrayWrapper<ArgType> > - : evaluator_impl_wrapper_base<ArgType> + : evaluator_impl_wrapper_base<ArrayWrapper<ArgType> > { typedef ArrayWrapper<ArgType> XprType; evaluator_impl(const XprType& wrapper) - : evaluator_impl_wrapper_base<ArgType>(wrapper.nestedExpression()) + : evaluator_impl_wrapper_base<ArrayWrapper<ArgType> >(wrapper.nestedExpression()) { } }; |