12 #ifndef EIGEN_MATRIXSTORAGE_H
13 #define EIGEN_MATRIXSTORAGE_H
15 #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
16 #define EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(X) \
18 EIGEN_DENSE_STORAGE_CTOR_PLUGIN;
20 #define EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(X)
30 #if defined(EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT)
31 #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(Alignment)
33 #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(Alignment) \
34 eigen_assert((is_constant_evaluated() || (std::uintptr_t(array) % Alignment == 0)) && \
35 "this assertion is explained here: " \
36 "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" \
37 " **** READ THIS WEB PAGE !!! ****");
40 #if EIGEN_STACK_ALLOCATION_LIMIT
41 #define EIGEN_MAKE_STACK_ALLOCATION_ASSERT(X) \
42 EIGEN_STATIC_ASSERT(X <= EIGEN_STACK_ALLOCATION_LIMIT, OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG)
44 #define EIGEN_MAKE_STACK_ALLOCATION_ASSERT(X)
52 template <
typename T,
int Size,
int MatrixOrArrayOptions,
56 #if defined(EIGEN_NO_DEBUG) || defined(EIGEN_TESTING_PLAINOBJECT_CTOR)
66 template <
typename T,
int Size,
int MatrixOrArrayOptions>
69 #if defined(EIGEN_NO_DEBUG) || defined(EIGEN_TESTING_PLAINOBJECT_CTOR)
76 template <
typename T,
int MatrixOrArrayOptions,
int Alignment>
82 template <
typename T,
int Size,
int Options,
int Alignment>
87 std::swap_ranges(
a.array,
a.array + common_size,
b.array);
89 smart_copy(
a.array + common_size,
a.array + a_size,
b.array + common_size);
90 else if (b_size > a_size)
91 smart_copy(
b.array + common_size,
b.array + b_size,
a.array + common_size);
94 template <
typename T,
int Size,
int Rows,
int Cols,
int Options>
99 #ifndef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
125 template <
typename T,
int Size,
int Cols,
int Options>
133 : m_rows(other.m_rows) {
144 m_rows = other.m_rows;
163 template <
typename T,
int Size,
int Rows,
int Options>
171 : m_cols(other.m_cols) {
182 m_cols = other.m_cols;
201 template <
typename T,
int Size,
int Options>
210 : m_rows(other.m_rows), m_cols(other.m_cols) {
221 m_rows = other.m_rows;
222 m_cols = other.m_cols;
245 template <
typename T,
int Rows,
int Cols,
int Options>
262 template <
typename T,
int Cols,
int Options>
287 template <
typename T,
int Rows,
int Options>
312 template <
typename T,
int Options>
342 template <
typename T,
int Rows,
int Cols,
int Options>
345 template <
typename T,
int Cols,
int Options>
347 static constexpr
bool Align = (Options &
DontAlign) == 0;
364 : m_data(other.m_data), m_rows(other.m_rows) {
365 other.m_data =
nullptr;
383 m_data = conditional_aligned_realloc_new_auto<T, Align>(m_data,
size, this->
size());
388 if (oldSize !=
size) {
389 conditional_aligned_delete_auto<T, Align>(m_data, oldSize);
390 m_data = conditional_aligned_new_auto<T, Align>(
size);
401 template <
typename T,
int Rows,
int Options>
403 static constexpr
bool Align = (Options &
DontAlign) == 0;
420 : m_data(other.m_data), m_cols(other.m_cols) {
421 other.m_data =
nullptr;
439 m_data = conditional_aligned_realloc_new_auto<T, Align>(m_data,
size, this->
size());
444 if (oldSize !=
size) {
445 conditional_aligned_delete_auto<T, Align>(m_data, oldSize);
446 m_data = conditional_aligned_new_auto<T, Align>(
size);
457 template <
typename T,
int Options>
459 static constexpr
bool Align = (Options &
DontAlign) == 0;
477 : m_data(other.m_data), m_rows(other.m_rows), m_cols(other.m_cols) {
478 other.m_data =
nullptr;
498 m_data = conditional_aligned_realloc_new_auto<T, Align>(m_data,
size, this->
size());
504 if (oldSize !=
size) {
505 conditional_aligned_delete_auto<T, Align>(m_data, oldSize);
506 m_data = conditional_aligned_new_auto<T, Align>(
size);
518 template <
typename T,
int Size,
int Rows,
int Cols>
520 static constexpr
bool DynamicObject = Size ==
Dynamic;
521 static constexpr
bool TrivialObject =
523 static constexpr
bool value = DynamicObject || TrivialObject;
539 template <
typename T,
int Size,
int Rows,
int Cols,
int Options,
555 template <
typename T,
int Size,
int Rows,
int Cols,
int Options>
#define EIGEN_MAKE_STACK_ALLOCATION_ASSERT(X)
Definition: DenseStorage.h:44
#define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(Alignment)
Definition: DenseStorage.h:33
#define EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(X)
Definition: DenseStorage.h:20
Eigen::Triplet< double > T
Definition: EigenUnitTest.cpp:11
#define EIGEN_UNUSED_VARIABLE(var)
Definition: Macros.h:966
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
int rows
Definition: Tutorial_commainit_02.cpp:1
int cols
Definition: Tutorial_commainit_02.cpp:1
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
Scalar * b
Definition: benchVecAdd.cpp:17
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage & operator=(const DenseStorage &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage & operator=(DenseStorage &&other)
Definition: DenseStorage.h:570
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage(const DenseStorage &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage(Index size, Index rows, Index cols)
Definition: DenseStorage.h:563
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage(DenseStorage &&other)
Definition: DenseStorage.h:568
Definition: DenseStorage.h:541
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage & operator=(DenseStorage &&)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage & operator=(const DenseStorage &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage(Index size, Index rows, Index cols)
Definition: DenseStorage.h:547
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage(DenseStorage &&)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage(const DenseStorage &)=default
Definition: DenseStorage.h:263
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index, Index rows, Index)
Definition: DenseStorage.h:275
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:282
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index, Index rows, Index)
Definition: DenseStorage.h:278
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:285
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index, Index rows, Index)
Definition: DenseStorage.h:269
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:283
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:284
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:281
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other) noexcept
Definition: DenseStorage.h:272
Definition: DenseStorage.h:313
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index, Index rows, Index cols)
Definition: DenseStorage.h:320
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:335
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index, Index rows, Index cols)
Definition: DenseStorage.h:331
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index, Index rows, Index cols)
Definition: DenseStorage.h:327
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:336
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:337
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other) noexcept
Definition: DenseStorage.h:323
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:338
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:339
Definition: DenseStorage.h:246
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:256
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index, Index, Index)
Definition: DenseStorage.h:253
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:260
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index, Index, Index)
Definition: DenseStorage.h:250
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &)
Definition: DenseStorage.h:252
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index, Index, Index)
Definition: DenseStorage.h:255
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:258
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:259
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:257
Definition: DenseStorage.h:288
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:308
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other) noexcept
Definition: DenseStorage.h:297
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:306
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:309
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index, Index, Index cols)
Definition: DenseStorage.h:303
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:310
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index, Index, Index cols)
Definition: DenseStorage.h:300
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:307
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index, Index, Index cols)
Definition: DenseStorage.h:294
Definition: DenseStorage.h:346
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &other)
Definition: DenseStorage.h:369
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:396
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index size, Index rows, Index)
Definition: DenseStorage.h:386
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:395
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(DenseStorage_impl &&other) noexcept
Definition: DenseStorage.h:374
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index size, Index rows, Index)
Definition: DenseStorage.h:359
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:399
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(DenseStorage_impl &&other) noexcept
Definition: DenseStorage.h:363
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:397
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &other)
Definition: DenseStorage.h:354
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index size, Index rows, Index)
Definition: DenseStorage.h:382
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:398
EIGEN_DEVICE_FUNC ~DenseStorage_impl()
Definition: DenseStorage.h:368
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other) noexcept
Definition: DenseStorage.h:378
Definition: DenseStorage.h:458
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other) noexcept
Definition: DenseStorage.h:492
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index size, Index rows, Index cols)
Definition: DenseStorage.h:497
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:516
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(DenseStorage_impl &&other) noexcept
Definition: DenseStorage.h:488
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:512
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index size, Index rows, Index cols)
Definition: DenseStorage.h:502
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:514
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index size, Index rows, Index cols)
Definition: DenseStorage.h:472
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:515
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &other)
Definition: DenseStorage.h:467
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &other)
Definition: DenseStorage.h:483
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(DenseStorage_impl &&other) noexcept
Definition: DenseStorage.h:476
EIGEN_DEVICE_FUNC ~DenseStorage_impl()
Definition: DenseStorage.h:482
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:513
Definition: DenseStorage.h:343
Definition: DenseStorage.h:402
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &other)
Definition: DenseStorage.h:410
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(DenseStorage_impl &&other) noexcept
Definition: DenseStorage.h:419
EIGEN_DEVICE_FUNC ~DenseStorage_impl()
Definition: DenseStorage.h:424
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:451
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:452
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:453
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(DenseStorage_impl &&other) noexcept
Definition: DenseStorage.h:430
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:455
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index size, Index, Index cols)
Definition: DenseStorage.h:415
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index size, Index, Index cols)
Definition: DenseStorage.h:438
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &other)
Definition: DenseStorage.h:425
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index size, Index, Index cols)
Definition: DenseStorage.h:442
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other) noexcept
Definition: DenseStorage.h:434
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:454
Definition: DenseStorage.h:126
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index, Index rows, Index)
Definition: DenseStorage.h:154
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:160
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &other)
Definition: DenseStorage.h:142
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index, Index rows, Index)
Definition: DenseStorage.h:151
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:159
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index size, Index rows, Index)
Definition: DenseStorage.h:137
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other)
Definition: DenseStorage.h:147
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:157
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &other)
Definition: DenseStorage.h:132
plain_array< T, Size, Options > m_data
Definition: DenseStorage.h:127
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:158
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:161
Definition: DenseStorage.h:202
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index, Index rows, Index cols)
Definition: DenseStorage.h:234
plain_array< T, Size, Options > m_data
Definition: DenseStorage.h:203
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &other)
Definition: DenseStorage.h:209
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other)
Definition: DenseStorage.h:225
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:241
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index size, Index rows, Index cols)
Definition: DenseStorage.h:214
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:239
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index, Index rows, Index cols)
Definition: DenseStorage.h:230
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &other)
Definition: DenseStorage.h:219
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:238
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:242
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:240
Definition: DenseStorage.h:164
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:198
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &other)
Definition: DenseStorage.h:170
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index, Index, Index cols)
Definition: DenseStorage.h:192
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index, Index, Index cols)
Definition: DenseStorage.h:189
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other)
Definition: DenseStorage.h:185
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:196
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:197
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &other)
Definition: DenseStorage.h:180
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:199
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:195
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index size, Index, Index cols)
Definition: DenseStorage.h:175
plain_array< T, Size, Options > m_data
Definition: DenseStorage.h:165
Definition: DenseStorage.h:95
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl & operator=(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void conservativeResize(Index, Index, Index)
Definition: DenseStorage.h:116
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl()=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap(DenseStorage_impl &other)
Definition: DenseStorage.h:113
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index cols() const
Definition: DenseStorage.h:120
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(const DenseStorage_impl &)=default
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index size() const
Definition: DenseStorage.h:121
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void resize(Index, Index, Index)
Definition: DenseStorage.h:118
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Index rows() const
Definition: DenseStorage.h:119
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE const T * data() const
Definition: DenseStorage.h:123
plain_array< T, Size, Options > m_data
Definition: DenseStorage.h:96
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE DenseStorage_impl(Index, Index, Index)
Definition: DenseStorage.h:111
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE T * data()
Definition: DenseStorage.h:122
@ DontAlign
Definition: Constants.h:324
const Scalar * a
Definition: level2_cplx_impl.h:32
EIGEN_DEVICE_FUNC void smart_copy(const T *start, const T *end, T *target)
Definition: Memory.h:569
EIGEN_DEVICE_FUNC T * conditional_aligned_new_auto(std::size_t size)
Definition: Memory.h:476
void swap(scoped_array< T > &a, scoped_array< T > &b)
Definition: Memory.h:734
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE void swap_plain_array(plain_array< T, Size, Options, Alignment > &a, plain_array< T, Size, Options, Alignment > &b, Index a_size, Index b_size)
Definition: DenseStorage.h:83
EIGEN_STRONG_INLINE void swap(T &a, T &b)
Definition: Meta.h:536
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T mini(const T &x, const T &y)
Definition: MathFunctions.h:920
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
std::array< T, N > array
Definition: EmulateArray.h:231
squared absolute value
Definition: GlobalFunctions.h:87
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
const int Dynamic
Definition: Constants.h:25
Definition: Eigen_Colamd.h:49
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
@ value
Definition: XprHelper.h:339
Definition: DenseStorage.h:77
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE plain_array()=default
Definition: DenseStorage.h:67
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE plain_array()
Definition: DenseStorage.h:72
Definition: DenseStorage.h:54
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE plain_array()
Definition: DenseStorage.h:59
EIGEN_ALIGN_TO_BOUNDARY(Alignment) T array[Size]
Definition: DenseStorage.h:519