diff options
author | Gael Guennebaud <g.gael@free.fr> | 2017-01-16 22:21:23 +0100 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2017-01-16 22:21:23 +0100 |
commit | 4989922be2708378b2438db5a843640ec468ce4c (patch) | |
tree | 19f81b7439f227edde89cd38fccffd94fbc1d3af /Eigen/src/Core/IndexedView.h | |
parent | 12e22a2844d060cfbeab7a48512046ee59709e53 (diff) |
Add support for symbolic expressions as arguments of operator()
Diffstat (limited to 'Eigen/src/Core/IndexedView.h')
-rw-r--r-- | Eigen/src/Core/IndexedView.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Eigen/src/Core/IndexedView.h b/Eigen/src/Core/IndexedView.h index 38ee69638..63878428e 100644 --- a/Eigen/src/Core/IndexedView.h +++ b/Eigen/src/Core/IndexedView.h @@ -45,6 +45,10 @@ struct traits<IndexedView<XprType, RowIndices, ColIndices> > InnerStrideAtCompileTime = InnerIncr<0 || InnerIncr==DynamicIndex || XprInnerStride==Dynamic ? Dynamic : XprInnerStride * InnerIncr, OuterStrideAtCompileTime = OuterIncr<0 || OuterIncr==DynamicIndex || XprOuterstride==Dynamic ? Dynamic : XprOuterstride * OuterIncr, + ReturnAsScalar = is_same<RowIndices,SingleRange>::value && is_same<ColIndices,SingleRange>::value, + ReturnAsBlock = (!ReturnAsScalar) && IsBlockAlike, + ReturnAsIndexedView = (!ReturnAsScalar) && (!ReturnAsBlock), + // FIXME we deal with compile-time strides if and only if we have DirectAccessBit flag, // but this is too strict regarding negative strides... DirectAccessMask = (InnerIncr!=UndefinedIncr && OuterIncr!=UndefinedIncr && InnerIncr>=0 && OuterIncr>=0) ? DirectAccessBit : 0, @@ -91,8 +95,8 @@ class IndexedViewImpl; * - decltype(ArrayXi::LinSpaced(...)) * - Any view/expressions of the previous types * - Eigen::ArithmeticSequence - * - Eigen::AllRange (helper for Eigen::all) - * - Eigen::IntAsArray (helper for single index) + * - Eigen::internal::AllRange (helper for Eigen::all) + * - Eigen::internal::SingleRange (helper for single index) * - etc. * * In typical usages of %Eigen, this class should never be used directly. It is the return type of |