aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-02-22 15:29:41 -0800
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2016-02-22 15:29:41 -0800
commit72d2cf642e050b1c604d57f6c7750a53d5438942 (patch)
tree86358b778df91e962117cde8fd74318a44acc249 /unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h
parent6270d851e3082b272d4a2cd723ac800fa954224e (diff)
Deleted the coordinate based evaluation of tensor expressions, since it's hardly ever used and started to cause some issues with some versions of xcode.
Diffstat (limited to 'unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h')
-rw-r--r--unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h52
1 files changed, 1 insertions, 51 deletions
diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h b/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h
index 2cbb820b1..57b716fd6 100644
--- a/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h
+++ b/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h
@@ -93,7 +93,7 @@ struct TensorEvaluator<const TensorPatchOp<PatchDim, ArgType>, Device>
IsAligned = false,
PacketAccess = TensorEvaluator<ArgType, Device>::PacketAccess,
Layout = TensorEvaluator<ArgType, Device>::Layout,
- CoordAccess = true,
+ CoordAccess = false,
RawAccess = false
};
@@ -248,56 +248,6 @@ struct TensorEvaluator<const TensorPatchOp<PatchDim, ArgType>, Device>
}
}
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(const array<Index, NumDims>& coords) const
- {
- Index patch_coord_idx = Layout == ColMajor ? NumDims - 1 : 0;
- // Location of the first element of the patch.
- const Index patchIndex = coords[patch_coord_idx];
-
- if (TensorEvaluator<ArgType, Device>::CoordAccess) {
- array<Index, NumDims-1> inputCoords;
- if (static_cast<int>(Layout) == static_cast<int>(ColMajor)) {
- for (int i = NumDims - 2; i > 0; --i) {
- const Index patchIdx = patchIndex / m_patchStrides[i];
- patchIndex -= patchIdx * m_patchStrides[i];
- const Index offsetIdx = coords[i];
- inputCoords[i] = coords[i] + patchIdx;
- }
- } else {
- for (int i = 0; i < NumDims - 2; ++i) {
- const Index patchIdx = patchIndex / m_patchStrides[i];
- patchIndex -= patchIdx * m_patchStrides[i];
- const Index offsetIdx = coords[i+1];
- inputCoords[i] = coords[i+1] + patchIdx;
- }
- }
- Index coords_idx = Layout == ColMajor ? 0 : NumDims - 1;
- inputCoords[0] = (patchIndex + coords[coords_idx]);
- return m_impl.coeff(inputCoords);
- }
- else {
- Index inputIndex = 0;
- if (Layout == ColMajor) {
- for (int i = NumDims - 2; i > 0; --i) {
- const Index patchIdx = patchIndex / m_patchStrides[i];
- patchIndex -= patchIdx * m_patchStrides[i];
- const Index offsetIdx = coords[i];
- inputIndex += (patchIdx + offsetIdx) * m_inputStrides[i];
- }
- } else {
- for (int i = 0; i < NumDims - 2; ++i) {
- const Index patchIdx = patchIndex / m_patchStrides[i];
- patchIndex -= patchIdx * m_patchStrides[i];
- const Index offsetIdx = coords[i+1];
- inputIndex += (patchIdx + offsetIdx) * m_inputStrides[i];
- }
- }
- Index coords_idx = Layout == ColMajor ? 0 : NumDims - 1;
- inputIndex += (patchIndex + coords[coords_idx]);
- return m_impl.coeff(inputIndex);
- }
- }
-
EIGEN_DEVICE_FUNC Scalar* data() const { return NULL; }
protected: