aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h
diff options
context:
space:
mode:
authorGravatar Mehdi Goli <mehdi.goli@codeplay.com>2016-11-14 17:51:57 +0000
committerGravatar Mehdi Goli <mehdi.goli@codeplay.com>2016-11-14 17:51:57 +0000
commitf8ca893976316df46791d2f088552fb2aea419bb (patch)
tree85a25dfa9e9e669334f5120e8085e70f1b2e3a3e /unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h
parenta5c3f15682299495f98b6f5480c798fd3211f590 (diff)
Adding TensorFixsize; adding sycl device memcpy; adding insial stage of slicing.
Diffstat (limited to 'unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h')
-rw-r--r--unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h20
1 files changed, 17 insertions, 3 deletions
diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h b/unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h
index d4c250c6d..0340b777f 100644
--- a/unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h
+++ b/unsupported/Eigen/CXX11/src/Tensor/TensorSyclPlaceHolderExpr.h
@@ -122,9 +122,9 @@ ASSIGNEXPR()
/// specialisation of the \ref PlaceHolderExpression when the node is
/// TensorMap
#define TENSORMAPEXPR(CVQual)\
-template <typename Scalar_, int Options_, int Options2_, int NumIndices_, typename IndexType_, template <class> class MakePointer_, size_t N>\
-struct PlaceHolderExpression< CVQual TensorMap< Tensor<Scalar_, NumIndices_, Options_, IndexType_>, Options2_, MakePointer_>, N> {\
- typedef CVQual PlaceHolder<CVQual TensorMap<Tensor<Scalar_, NumIndices_, Options_, IndexType_>, Options2_, MakePointer_>, N> Type;\
+template <typename T, int Options2_, template <class> class MakePointer_, size_t N>\
+struct PlaceHolderExpression< CVQual TensorMap< T, Options2_, MakePointer_>, N> {\
+ typedef CVQual PlaceHolder<CVQual TensorMap<T, Options2_, MakePointer_>, N> Type;\
};
TENSORMAPEXPR(const)
@@ -167,6 +167,20 @@ SYCLREDUCTION(const)
SYCLREDUCTION()
#undef SYCLREDUCTION
+
+/// specialisation of the \ref PlaceHolderExpression when the node is
+/// TensorCwiseSelectOp
+#define SLICEOPEXPR(CVQual)\
+template <typename StartIndices, typename Sizes, typename XprType, size_t N>\
+struct PlaceHolderExpression<CVQual TensorSlicingOp<StartIndices, Sizes, XprType>, N> {\
+ typedef CVQual TensorSlicingOp<StartIndices, Sizes, typename CalculateIndex<N, XprType>::ArgType> Type;\
+};
+
+SLICEOPEXPR(const)
+SLICEOPEXPR()
+#undef SLICEOPEXPR
+
+
/// template deduction for \ref PlaceHolderExpression struct
template <typename Expr>
struct createPlaceHolderExpression {