mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Adding TensorFixsize; adding sycl device memcpy; adding insial stage of slicing.
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user