aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/Redux.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-03-12 13:34:11 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-03-12 13:34:11 +0100
commit8dd3b716e39d4b4b472b948de1af20838bf17493 (patch)
tree3fa4e90f1a6caf23e5028c8c5025e04ad27a8768 /Eigen/src/Core/Redux.h
parent7eefdb948c1ff372f85991ff3f9d998e66a554d9 (diff)
Move evaluation related flags from traits to evaluator and fix evaluators of MapBase and Replicate
Diffstat (limited to 'Eigen/src/Core/Redux.h')
-rw-r--r--Eigen/src/Core/Redux.h11
1 files changed, 11 insertions, 0 deletions
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<Derived>::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<Derived,1>::type ThisNested;
+// typedef typename internal::remove_all<ThisNested>::type ThisNestedCleaned;
+// typedef typename internal::redux_evaluator<ThisNestedCleaned> ThisEvaluator;
+//
+// ThisNested thisNested(derived());
+// ThisEvaluator thisEval(thisNested);
+
typedef typename internal::redux_evaluator<Derived> ThisEvaluator;
ThisEvaluator thisEval(derived());
+
return internal::redux_impl<Func, ThisEvaluator>::run(thisEval, func);
#else