diff options
author | Gael Guennebaud <g.gael@free.fr> | 2014-03-12 13:34:11 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2014-03-12 13:34:11 +0100 |
commit | 8dd3b716e39d4b4b472b948de1af20838bf17493 (patch) | |
tree | 3fa4e90f1a6caf23e5028c8c5025e04ad27a8768 /Eigen/src/Core/Redux.h | |
parent | 7eefdb948c1ff372f85991ff3f9d998e66a554d9 (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.h | 11 |
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 |