11#ifndef EIGEN_CXX11_TENSOR_TENSORSTORAGE_H
12#define EIGEN_CXX11_TENSOR_TENSORSTORAGE_H
14#ifdef EIGEN_TENSOR_STORAGE_CTOR_PLUGIN
15 #define EIGEN_INTERNAL_TENSOR_STORAGE_CTOR_PLUGIN EIGEN_TENSOR_STORAGE_CTOR_PLUGIN;
17 #define EIGEN_INTERNAL_TENSOR_STORAGE_CTOR_PLUGIN
34template<
typename T,
typename Dimensions,
int Options>
class TensorStorage;
38template<
typename T,
typename FixedDimensions,
int Options_>
42 static const std::size_t Size = FixedDimensions::total_size;
61 static const FixedDimensions* singleton_dimensions =
new FixedDimensions();
62 return *singleton_dimensions;
70template<
typename T,
typename IndexType,
int NumIndices_,
int Options_>
79 if (NumIndices_ == 0) {
84 : m_data(0), m_dimensions(
internal::template repeat<NumIndices_,
Index>(0)) {}
89#if EIGEN_HAS_VARIADIC_TEMPLATES
98 , m_dimensions(other.m_dimensions)
104 if (
this != &other) {
111#if EIGEN_HAS_RVALUE_REFERENCES
114 *
this = std::move(other);
134 if(
size != currentSz)
139 else if (NumIndices_ == 0) {
146 m_dimensions = nbDimensions;
156 Dimensions m_dimensions;
#define EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(X)
Definition DenseStorage.h:18
#define EIGEN_DEVICE_FUNC
Definition Macros.h:976
#define EIGEN_STRONG_INLINE
Definition Macros.h:917
#define EIGEN_INTERNAL_TENSOR_STORAGE_CTOR_PLUGIN
Definition TensorStorage.h:17
Definition TensorStorage.h:72
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T * data()
Definition TensorStorage.h:149
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensions & dimensions() const
Definition TensorStorage.h:129
EIGEN_DEVICE_FUNC ~TensorStorage()
Definition TensorStorage.h:125
EIGEN_DEVICE_FUNC TensorStorage(internal::constructor_without_unaligned_array_assert)
Definition TensorStorage.h:83
EIGEN_DEVICE_FUNC TensorStorage()
Definition TensorStorage.h:78
EIGEN_DEVICE_FUNC void swap(Self &other)
Definition TensorStorage.h:126
DSizes< IndexType, NumIndices_ > Dimensions
Definition TensorStorage.h:75
IndexType Index
Definition TensorStorage.h:74
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index size() const
Definition TensorStorage.h:152
TensorStorage< T, DSizes< IndexType, NumIndices_ >, Options_ > Self
Definition TensorStorage.h:76
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T * data() const
Definition TensorStorage.h:150
EIGEN_DEVICE_FUNC Self & operator=(const Self &other)
Definition TensorStorage.h:102
EIGEN_DEVICE_FUNC void resize(Index size, const array< Index, NumIndices_ > &nbDimensions)
Definition TensorStorage.h:131
EIGEN_DEVICE_FUNC TensorStorage(const Self &other)
Definition TensorStorage.h:96
EIGEN_DEVICE_FUNC TensorStorage(Index size, const array< Index, NumIndices_ > &dimensions)
Definition TensorStorage.h:85
Definition TensorStorage.h:40
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T * data()
Definition TensorStorage.h:54
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE DenseIndex size() const
Definition TensorStorage.h:66
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const FixedDimensions & dimensions()
Definition TensorStorage.h:59
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T * data() const
Definition TensorStorage.h:56
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorStorage()
Definition TensorStorage.h:50
Definition EmulateArray.h:21
@ DontAlign
Definition Constants.h:325
int EIGEN_BLAS_FUNC() swap(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
Definition level1_impl.h:130
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t array_prod(const Sizes< Indices... > &)
Definition TensorDimensions.h:140
EIGEN_DEVICE_FUNC void smart_copy(const T *start, const T *end, T *target)
Definition Memory.h:515
EIGEN_STRONG_INLINE void swap(T &a, T &b)
Definition Meta.h:766
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
EIGEN_DEFAULT_DENSE_INDEX_TYPE DenseIndex
Definition Meta.h:66
Definition BandTriangularSolver.h:13
Definition TensorDimensions.h:263
Definition DenseStorage.h:25
Definition ForwardDeclarations.h:17
Definition TensorMeta.h:40