10 #ifndef EIGEN_CXX11_TENSOR_TENSOR_FIXED_SIZE_H
11 #define EIGEN_CXX11_TENSOR_TENSOR_FIXED_SIZE_H
28 template<
typename Scalar_,
typename Dimensions_,
int Options_,
typename IndexType>
34 typedef typename Eigen::internal::nested<Self>::type
Nested;
35 typedef typename internal::traits<Self>::StorageKind
StorageKind;
36 typedef typename internal::traits<Self>::Index
Index;
58 static constexpr std::size_t
NumIndices = Dimensions::count;
75 inline const Self&
base()
const {
return *
this; }
77 template<
typename... IndexTypes>
107 template<
typename... IndexTypes>
136 template<
typename... IndexTypes>
148 return coeff(indices);
173 template<
typename... IndexTypes>
227 template<
typename OtherDerived>
232 Assign assign(*
this, other.derived());
233 internal::TensorExecutor<const Assign, DefaultDevice>::run(assign,
DefaultDevice());
235 template<
typename OtherDerived>
240 Assign assign(*
this, other.derived());
241 internal::TensorExecutor<const Assign, DefaultDevice>::run(assign,
DefaultDevice());
255 using internal::greater_equal_zero_op;
256 using internal::logical_and_op;
257 using internal::lesser_op;
#define eigen_internal_assert(x)
#define EIGEN_DEVICE_FUNC
#define EIGEN_STATIC_ASSERT(X, MSG)
#define EIGEN_TENSOR_INHERIT_ASSIGNMENT_EQUAL_OPERATOR(Derived)
The fixed sized version of the tensor class.
Scalar & operator()(const array< Index, NumIndices > &indices)
Scalar & operator[](Index index)
const Dimensions dimensions() const
Index linearizedIndex(const array< Index, NumIndices > &indices) const
const Self & base() const
TensorBase< TensorFixedSize< Scalar_, Dimensions_, Options_, IndexType > > Base
TensorFixedSize(const Self &other)
TensorStorage< Scalar, Dimensions, Options > m_storage
Eigen::internal::nested< Self >::type Nested
TensorFixedSize(const TensorBase< OtherDerived, ReadOnlyAccessors > &other)
const Scalar & operator()(const array< Index, NumIndices > &indices) const
internal::TensorBlockNotImplemented TensorBlock
Scalar & operator()(Index index)
TensorFixedSize(Self &&other)
static constexpr std::size_t NumIndices
static constexpr int Options
TensorFixedSize(const TensorBase< OtherDerived, WriteAccessors > &other)
Base::CoeffReturnType CoeffReturnType
const Scalar & operator()() const
TensorFixedSize< Scalar_, Dimensions_, Options_, IndexType > Self
const Scalar & coeff() const
internal::traits< Self >::Index Index
Index dimension(std::size_t n) const
const Scalar & operator()(Index firstIndex, IndexTypes... otherIndices) const
Scalar & coeffRef(const array< Index, NumIndices > &indices)
internal::traits< Self >::StorageKind StorageKind
const Scalar & coeff(const array< Index, NumIndices > &indices) const
Scalar & coeffRef(Index firstIndex, IndexTypes... otherIndices)
const Scalar * data() const
bool checkIndexRange(const array< Index, NumIndices > &) const
NumTraits< Scalar >::Real RealScalar
Scalar & coeffRef(Index index)
const Scalar & operator[](Index index) const
const Scalar & operator()(Index index) const
const Scalar & coeff(Index index) const
const Scalar & coeff(Index firstIndex, IndexTypes... otherIndices) const
static constexpr int Layout
Scalar & operator()(Index firstIndex, IndexTypes... otherIndices)
const FixedDimensions dimensions() const
constexpr auto array_apply_and_reduce(array< A, N > a) -> decltype(h_array_apply_and_reduce< Reducer, Op, A, N >(a, typename gen_numeric_list< int, N >::type()))
constexpr auto array_zip_and_reduce(array< A, N > a, array< B, N > b) -> decltype(h_array_zip_and_reduce< Reducer, Op, A, B, N >(a, b, typename gen_numeric_list< int, N >::type()))
: TensorContractionSycl.h, provides various tensor contraction kernel for SYCL backend