From 8dd3b716e39d4b4b472b948de1af20838bf17493 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 12 Mar 2014 13:34:11 +0100 Subject: Move evaluation related flags from traits to evaluator and fix evaluators of MapBase and Replicate --- Eigen/src/Core/Redux.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Eigen/src/Core/Redux.h') diff --git a/Eigen/src/Core/Redux.h b/Eigen/src/Core/Redux.h index 41290323f..6c8c58e95 100644 --- a/Eigen/src/Core/Redux.h +++ b/Eigen/src/Core/Redux.h @@ -389,8 +389,19 @@ DenseBase::redux(const Func& func) const eigen_assert(this->rows()>0 && this->cols()>0 && "you are using an empty matrix"); #ifdef EIGEN_TEST_EVALUATORS + // FIXME, eval_nest should be handled by redux_evaluator, however: + // - it is currently difficult to provide the right Flags since they are still handled by the expressions + // - handling it here might reduce the number of template instantiations +// typedef typename internal::nested_eval::type ThisNested; +// typedef typename internal::remove_all::type ThisNestedCleaned; +// typedef typename internal::redux_evaluator ThisEvaluator; +// +// ThisNested thisNested(derived()); +// ThisEvaluator thisEval(thisNested); + typedef typename internal::redux_evaluator ThisEvaluator; ThisEvaluator thisEval(derived()); + return internal::redux_impl::run(thisEval, func); #else -- cgit v1.2.3