DenseStorage.h
Go to the documentation of this file.
1 // This file is part of Eigen, a lightweight C++ template library
2 // for linear algebra.
3 //
4 // Copyright (C) 2008 Gael Guennebaud <gael.guennebaud@inria.fr>
5 // Copyright (C) 2006-2009 Benoit Jacob <jacob.benoit.1@gmail.com>
6 // Copyright (C) 2010-2013 Hauke Heibel <hauke.heibel@gmail.com>
7 //
8 // This Source Code Form is subject to the terms of the Mozilla
9 // Public License v. 2.0. If a copy of the MPL was not distributed
10 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
11 
12 #ifndef EIGEN_MATRIXSTORAGE_H
13 #define EIGEN_MATRIXSTORAGE_H
14 
15 #ifdef EIGEN_DENSE_STORAGE_CTOR_PLUGIN
16  #define EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(X) X; EIGEN_DENSE_STORAGE_CTOR_PLUGIN;
17 #else
18  #define EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(X)
19 #endif
20 
21 namespace Eigen {
22 
23 namespace internal {
24 
26 
27 template<typename T, int Size>
30 {
31  // if EIGEN_STACK_ALLOCATION_LIMIT is defined to 0, then no limit
32  #if EIGEN_STACK_ALLOCATION_LIMIT
33  EIGEN_STATIC_ASSERT(Size * sizeof(T) <= EIGEN_STACK_ALLOCATION_LIMIT, OBJECT_ALLOCATED_ON_STACK_IS_TOO_BIG);
34  #endif
35 }
36 
41 template <typename T, int Size, int MatrixOrArrayOptions,
42  int Alignment = (MatrixOrArrayOptions&DontAlign) ? 0
45 {
46  T array[Size];
47 
50  {
51  check_static_allocation_size<T,Size>();
52  }
53 
56  {
57  check_static_allocation_size<T,Size>();
58  }
59 };
60 
61 #if defined(EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT)
62  #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask)
63 #elif EIGEN_GNUC_AT_LEAST(4,7)
64  // GCC 4.7 is too aggressive in its optimizations and remove the alignment test based on the fact the array is declared to be aligned.
65  // See this bug report: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53900
66  // Hiding the origin of the array pointer behind a function argument seems to do the trick even if the function is inlined:
67  template<typename PtrType>
68  EIGEN_ALWAYS_INLINE PtrType eigen_unaligned_array_assert_workaround_gcc47(PtrType array) { return array; }
69  #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask) \
70  eigen_assert((internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (sizemask)) == 0 \
71  && "this assertion is explained here: " \
72  "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" \
73  " **** READ THIS WEB PAGE !!! ****");
74 #else
75  #define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask) \
76  eigen_assert((internal::UIntPtr(array) & (sizemask)) == 0 \
77  && "this assertion is explained here: " \
78  "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" \
79  " **** READ THIS WEB PAGE !!! ****");
80 #endif
81 
82 template <typename T, int Size, int MatrixOrArrayOptions>
84 {
85  EIGEN_ALIGN_TO_BOUNDARY(8) T array[Size];
86 
89  {
91  check_static_allocation_size<T,Size>();
92  }
93 
96  {
97  check_static_allocation_size<T,Size>();
98  }
99 };
100 
101 template <typename T, int Size, int MatrixOrArrayOptions>
103 {
104  EIGEN_ALIGN_TO_BOUNDARY(16) T array[Size];
105 
108  {
110  check_static_allocation_size<T,Size>();
111  }
112 
115  {
116  check_static_allocation_size<T,Size>();
117  }
118 };
119 
120 template <typename T, int Size, int MatrixOrArrayOptions>
122 {
123  EIGEN_ALIGN_TO_BOUNDARY(32) T array[Size];
124 
127  {
129  check_static_allocation_size<T,Size>();
130  }
131 
134  {
135  check_static_allocation_size<T,Size>();
136  }
137 };
138 
139 template <typename T, int Size, int MatrixOrArrayOptions>
141 {
142  EIGEN_ALIGN_TO_BOUNDARY(64) T array[Size];
143 
146  {
148  check_static_allocation_size<T,Size>();
149  }
150 
153  {
154  check_static_allocation_size<T,Size>();
155  }
156 };
157 
158 template <typename T, int MatrixOrArrayOptions, int Alignment>
160 {
161  T array[1];
164 };
165 
167  template<typename T, int Size, int MatrixOrArrayOptions, int Alignment>
171  smart_copy(src.array, src.array + size, dst.array);
172  }
173 
174  template<typename T, int Size, int MatrixOrArrayOptions, int Alignment>
178  if (a_size < b_size) {
179  std::swap_ranges(b.array, b.array + a_size, a.array);
180  smart_move(b.array + a_size, b.array + b_size, a.array + a_size);
181  } else if (a_size > b_size) {
182  std::swap_ranges(a.array, a.array + b_size, b.array);
183  smart_move(a.array + b_size, a.array + a_size, b.array + b_size);
184  } else {
185  std::swap_ranges(a.array, a.array + a_size, b.array);
186  }
187  }
188 };
189 
190 } // end namespace internal
191 
204 template<typename T, int Size, int _Rows, int _Cols, int _Options> class DenseStorage;
205 
206 // purely fixed-size matrix
207 template<typename T, int Size, int _Rows, int _Cols, int _Options> class DenseStorage
208 {
210  public:
213  }
216  : m_data(internal::constructor_without_unaligned_array_assert()) {}
217 #if !EIGEN_HAS_CXX11 || defined(EIGEN_DENSE_STORAGE_CTOR_PLUGIN)
219  DenseStorage(const DenseStorage& other) : m_data(other.m_data) {
221  }
222 #else
223  EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage&) = default;
224 #endif
225 #if !EIGEN_HAS_CXX11
228  {
229  if (this != &other) m_data = other.m_data;
230  return *this;
231  }
232 #else
233  EIGEN_DEVICE_FUNC DenseStorage& operator=(const DenseStorage&) = default;
234 #endif
235 #if EIGEN_HAS_RVALUE_REFERENCES
236 #if !EIGEN_HAS_CXX11
238  : m_data(std::move(other.m_data))
239  {
240  }
241  EIGEN_DEVICE_FUNC DenseStorage& operator=(DenseStorage&& other) EIGEN_NOEXCEPT
242  {
243  if (this != &other)
244  m_data = std::move(other.m_data);
245  return *this;
246  }
247 #else
248  EIGEN_DEVICE_FUNC DenseStorage(DenseStorage&&) = default;
249  EIGEN_DEVICE_FUNC DenseStorage& operator=(DenseStorage&&) = default;
250 #endif
251 #endif
254  eigen_internal_assert(size==rows*cols && rows==_Rows && cols==_Cols);
258  }
260  numext::swap(m_data, other.m_data);
261  }
266  EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; }
267  EIGEN_DEVICE_FUNC T *data() { return m_data.array; }
268 };
269 
270 // null matrix
271 template<typename T, int _Rows, int _Cols, int _Options> class DenseStorage<T, 0, _Rows, _Cols, _Options>
272 {
273  public:
284  EIGEN_DEVICE_FUNC const T *data() const { return 0; }
285  EIGEN_DEVICE_FUNC T *data() { return 0; }
286 };
287 
288 // more specializations for null matrices; these are necessary to resolve ambiguities
289 template<typename T, int _Options> class DenseStorage<T, 0, Dynamic, Dynamic, _Options>
291 
292 template<typename T, int _Rows, int _Options> class DenseStorage<T, 0, _Rows, Dynamic, _Options>
294 
295 template<typename T, int _Cols, int _Options> class DenseStorage<T, 0, Dynamic, _Cols, _Options>
297 
298 // dynamic-size matrix with fixed-size storage
299 template<typename T, int Size, int _Options> class DenseStorage<T, Size, Dynamic, Dynamic, _Options>
300 {
304  public:
305  EIGEN_DEVICE_FUNC DenseStorage() : m_rows(0), m_cols(0) {}
307  : m_data(internal::constructor_without_unaligned_array_assert()), m_rows(0), m_cols(0) {}
309  : m_data(internal::constructor_without_unaligned_array_assert()), m_rows(other.m_rows), m_cols(other.m_cols)
310  {
311  internal::plain_array_helper::copy(other.m_data, m_rows * m_cols, m_data);
312  }
314  {
315  if (this != &other)
316  {
317  m_rows = other.m_rows;
318  m_cols = other.m_cols;
319  internal::plain_array_helper::copy(other.m_data, m_rows * m_cols, m_data);
320  }
321  return *this;
322  }
325  {
326  internal::plain_array_helper::swap(m_data, m_rows * m_cols, other.m_data, other.m_rows * other.m_cols);
327  numext::swap(m_rows,other.m_rows);
328  numext::swap(m_cols,other.m_cols);
329  }
330  EIGEN_DEVICE_FUNC Index rows() const {return m_rows;}
331  EIGEN_DEVICE_FUNC Index cols() const {return m_cols;}
333  EIGEN_DEVICE_FUNC void resize(Index, Index rows, Index cols) { m_rows = rows; m_cols = cols; }
334  EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; }
335  EIGEN_DEVICE_FUNC T *data() { return m_data.array; }
336 };
337 
338 // dynamic-size matrix with fixed-size storage and fixed width
339 template<typename T, int Size, int _Cols, int _Options> class DenseStorage<T, Size, Dynamic, _Cols, _Options>
340 {
343  public:
346  : m_data(internal::constructor_without_unaligned_array_assert()), m_rows(0) {}
348  : m_data(internal::constructor_without_unaligned_array_assert()), m_rows(other.m_rows)
349  {
350  internal::plain_array_helper::copy(other.m_data, m_rows * _Cols, m_data);
351  }
352 
354  {
355  if (this != &other)
356  {
357  m_rows = other.m_rows;
358  internal::plain_array_helper::copy(other.m_data, m_rows * _Cols, m_data);
359  }
360  return *this;
361  }
364  {
365  internal::plain_array_helper::swap(m_data, m_rows * _Cols, other.m_data, other.m_rows * _Cols);
366  numext::swap(m_rows, other.m_rows);
367  }
368  EIGEN_DEVICE_FUNC Index rows(void) const EIGEN_NOEXCEPT {return m_rows;}
372  EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; }
373  EIGEN_DEVICE_FUNC T *data() { return m_data.array; }
374 };
375 
376 // dynamic-size matrix with fixed-size storage and fixed height
377 template<typename T, int Size, int _Rows, int _Options> class DenseStorage<T, Size, _Rows, Dynamic, _Options>
378 {
381  public:
384  : m_data(internal::constructor_without_unaligned_array_assert()), m_cols(0) {}
386  : m_data(internal::constructor_without_unaligned_array_assert()), m_cols(other.m_cols)
387  {
388  internal::plain_array_helper::copy(other.m_data, _Rows * m_cols, m_data);
389  }
391  {
392  if (this != &other)
393  {
394  m_cols = other.m_cols;
395  internal::plain_array_helper::copy(other.m_data, _Rows * m_cols, m_data);
396  }
397  return *this;
398  }
401  internal::plain_array_helper::swap(m_data, _Rows * m_cols, other.m_data, _Rows * other.m_cols);
402  numext::swap(m_cols, other.m_cols);
403  }
405  EIGEN_DEVICE_FUNC Index cols(void) const EIGEN_NOEXCEPT {return m_cols;}
408  EIGEN_DEVICE_FUNC const T *data() const { return m_data.array; }
409  EIGEN_DEVICE_FUNC T *data() { return m_data.array; }
410 };
411 
412 // purely dynamic matrix.
413 template<typename T, int _Options> class DenseStorage<T, Dynamic, Dynamic, Dynamic, _Options>
414 {
418  public:
419  EIGEN_DEVICE_FUNC DenseStorage() : m_data(0), m_rows(0), m_cols(0) {}
421  : m_data(0), m_rows(0), m_cols(0) {}
423  : m_data(internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size)), m_rows(rows), m_cols(cols)
424  {
426  eigen_internal_assert(size==rows*cols && rows>=0 && cols >=0);
427  }
429  : m_data(internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(other.m_rows*other.m_cols))
430  , m_rows(other.m_rows)
431  , m_cols(other.m_cols)
432  {
434  internal::smart_copy(other.m_data, other.m_data+other.m_rows*other.m_cols, m_data);
435  }
437  {
438  if (this != &other)
439  {
440  DenseStorage tmp(other);
441  this->swap(tmp);
442  }
443  return *this;
444  }
445 #if EIGEN_HAS_RVALUE_REFERENCES
448  : m_data(std::move(other.m_data))
449  , m_rows(std::move(other.m_rows))
450  , m_cols(std::move(other.m_cols))
451  {
452  other.m_data = nullptr;
453  other.m_rows = 0;
454  other.m_cols = 0;
455  }
457  DenseStorage& operator=(DenseStorage&& other) EIGEN_NOEXCEPT
458  {
459  numext::swap(m_data, other.m_data);
460  numext::swap(m_rows, other.m_rows);
461  numext::swap(m_cols, other.m_cols);
462  return *this;
463  }
464 #endif
465  EIGEN_DEVICE_FUNC ~DenseStorage() { internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, m_rows*m_cols); }
467  {
468  numext::swap(m_data,other.m_data);
469  numext::swap(m_rows,other.m_rows);
470  numext::swap(m_cols,other.m_cols);
471  }
472  EIGEN_DEVICE_FUNC Index rows(void) const EIGEN_NOEXCEPT {return m_rows;}
473  EIGEN_DEVICE_FUNC Index cols(void) const EIGEN_NOEXCEPT {return m_cols;}
475  {
476  m_data = internal::conditional_aligned_realloc_new_auto<T,(_Options&DontAlign)==0>(m_data, size, m_rows*m_cols);
477  m_rows = rows;
478  m_cols = cols;
479  }
481  {
482  if(size != m_rows*m_cols)
483  {
484  internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, m_rows*m_cols);
485  if (size>0) // >0 and not simply !=0 to let the compiler knows that size cannot be negative
486  m_data = internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size);
487  else
488  m_data = 0;
490  }
491  m_rows = rows;
492  m_cols = cols;
493  }
494  EIGEN_DEVICE_FUNC const T *data() const { return m_data; }
495  EIGEN_DEVICE_FUNC T *data() { return m_data; }
496 };
497 
498 // matrix with dynamic width and fixed height (so that matrix has dynamic size).
499 template<typename T, int _Rows, int _Options> class DenseStorage<T, Dynamic, _Rows, Dynamic, _Options>
500 {
503  public:
504  EIGEN_DEVICE_FUNC DenseStorage() : m_data(0), m_cols(0) {}
507  {
509  eigen_internal_assert(size==rows*cols && rows==_Rows && cols >=0);
511  }
513  : m_data(internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(_Rows*other.m_cols))
514  , m_cols(other.m_cols)
515  {
517  internal::smart_copy(other.m_data, other.m_data+_Rows*m_cols, m_data);
518  }
520  {
521  if (this != &other)
522  {
523  DenseStorage tmp(other);
524  this->swap(tmp);
525  }
526  return *this;
527  }
528 #if EIGEN_HAS_RVALUE_REFERENCES
531  : m_data(std::move(other.m_data))
532  , m_cols(std::move(other.m_cols))
533  {
534  other.m_data = nullptr;
535  other.m_cols = 0;
536  }
538  DenseStorage& operator=(DenseStorage&& other) EIGEN_NOEXCEPT
539  {
540  numext::swap(m_data, other.m_data);
541  numext::swap(m_cols, other.m_cols);
542  return *this;
543  }
544 #endif
545  EIGEN_DEVICE_FUNC ~DenseStorage() { internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, _Rows*m_cols); }
547  numext::swap(m_data,other.m_data);
548  numext::swap(m_cols,other.m_cols);
549  }
551  EIGEN_DEVICE_FUNC Index cols(void) const EIGEN_NOEXCEPT {return m_cols;}
553  {
554  m_data = internal::conditional_aligned_realloc_new_auto<T,(_Options&DontAlign)==0>(m_data, size, _Rows*m_cols);
555  m_cols = cols;
556  }
558  {
559  if(size != _Rows*m_cols)
560  {
561  internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, _Rows*m_cols);
562  if (size>0) // >0 and not simply !=0 to let the compiler knows that size cannot be negative
563  m_data = internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size);
564  else
565  m_data = 0;
567  }
568  m_cols = cols;
569  }
570  EIGEN_DEVICE_FUNC const T *data() const { return m_data; }
571  EIGEN_DEVICE_FUNC T *data() { return m_data; }
572 };
573 
574 // matrix with dynamic height and fixed width (so that matrix has dynamic size).
575 template<typename T, int _Cols, int _Options> class DenseStorage<T, Dynamic, Dynamic, _Cols, _Options>
576 {
579  public:
580  EIGEN_DEVICE_FUNC DenseStorage() : m_data(0), m_rows(0) {}
583  {
585  eigen_internal_assert(size==rows*cols && rows>=0 && cols == _Cols);
587  }
589  : m_data(internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(other.m_rows*_Cols))
590  , m_rows(other.m_rows)
591  {
593  internal::smart_copy(other.m_data, other.m_data+other.m_rows*_Cols, m_data);
594  }
596  {
597  if (this != &other)
598  {
599  DenseStorage tmp(other);
600  this->swap(tmp);
601  }
602  return *this;
603  }
604 #if EIGEN_HAS_RVALUE_REFERENCES
607  : m_data(std::move(other.m_data))
608  , m_rows(std::move(other.m_rows))
609  {
610  other.m_data = nullptr;
611  other.m_rows = 0;
612  }
614  DenseStorage& operator=(DenseStorage&& other) EIGEN_NOEXCEPT
615  {
616  numext::swap(m_data, other.m_data);
617  numext::swap(m_rows, other.m_rows);
618  return *this;
619  }
620 #endif
621  EIGEN_DEVICE_FUNC ~DenseStorage() { internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, _Cols*m_rows); }
623  numext::swap(m_data,other.m_data);
624  numext::swap(m_rows,other.m_rows);
625  }
626  EIGEN_DEVICE_FUNC Index rows(void) const EIGEN_NOEXCEPT {return m_rows;}
627  EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR Index cols(void) {return _Cols;}
629  {
630  m_data = internal::conditional_aligned_realloc_new_auto<T,(_Options&DontAlign)==0>(m_data, size, m_rows*_Cols);
631  m_rows = rows;
632  }
634  {
635  if(size != m_rows*_Cols)
636  {
637  internal::conditional_aligned_delete_auto<T,(_Options&DontAlign)==0>(m_data, _Cols*m_rows);
638  if (size>0) // >0 and not simply !=0 to let the compiler knows that size cannot be negative
639  m_data = internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size);
640  else
641  m_data = 0;
643  }
644  m_rows = rows;
645  }
646  EIGEN_DEVICE_FUNC const T *data() const { return m_data; }
647  EIGEN_DEVICE_FUNC T *data() { return m_data; }
648 };
649 
650 } // end namespace Eigen
651 
652 #endif // EIGEN_MATRIX_H
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::m_data
internal::plain_array< T, Size, _Options > m_data
Definition: DenseStorage.h:379
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols)
Definition: DenseStorage.h:422
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::rows
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows(void) const EIGEN_NOEXCEPT
Definition: DenseStorage.h:404
EIGEN_DEVICE_FUNC
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:976
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::m_data
T * m_data
Definition: DenseStorage.h:501
Eigen
Namespace containing all symbols from the Eigen library.
Definition: jet.h:637
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::operator=
EIGEN_DEVICE_FUNC DenseStorage & operator=(const DenseStorage &)
Definition: DenseStorage.h:277
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::data
EIGEN_DEVICE_FUNC T * data()
Definition: DenseStorage.h:335
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(internal::constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:383
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::m_cols
Index m_cols
Definition: DenseStorage.h:502
array
int array[24]
Definition: Map_general_stride.cpp:1
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 16 >::plain_array
EIGEN_DEVICE_FUNC plain_array()
Definition: DenseStorage.h:107
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::rows
EIGEN_DEVICE_FUNC Index rows(void) const EIGEN_NOEXCEPT
Definition: DenseStorage.h:626
Eigen::DenseStorage::data
const EIGEN_DEVICE_FUNC T * data() const
Definition: DenseStorage.h:266
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 16 >
Definition: DenseStorage.h:102
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::m_rows
Index m_rows
Definition: DenseStorage.h:302
Eigen::array
Definition: EmulateArray.h:21
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(Index, Index rows, Index)
Definition: DenseStorage.h:362
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::data
const EIGEN_DEVICE_FUNC T * data() const
Definition: DenseStorage.h:334
b
Scalar * b
Definition: benchVecAdd.cpp:17
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage &other)
Definition: DenseStorage.h:588
Eigen::internal::plain_array_helper
Definition: DenseStorage.h:166
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::data
EIGEN_DEVICE_FUNC T * data()
Definition: DenseStorage.h:495
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::~DenseStorage
EIGEN_DEVICE_FUNC ~DenseStorage()
Definition: DenseStorage.h:545
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage &other)
Definition: DenseStorage.h:308
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::data
const EIGEN_DEVICE_FUNC T * data() const
Definition: DenseStorage.h:646
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage &other)
Definition: DenseStorage.h:385
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::swap
EIGEN_DEVICE_FUNC void swap(DenseStorage &other)
Definition: DenseStorage.h:466
Eigen::internal::smart_move
EIGEN_DEVICE_FUNC T * smart_move(T *start, T *end, T *target)
Definition: Memory.h:575
EIGEN_CONSTEXPR
#define EIGEN_CONSTEXPR
Definition: Macros.h:787
EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN
#define EIGEN_INTERNAL_DENSE_STORAGE_CTOR_PLUGIN(X)
Definition: DenseStorage.h:18
Eigen::internal::constructor_without_unaligned_array_assert
Definition: DenseStorage.h:25
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::m_cols
Index m_cols
Definition: DenseStorage.h:380
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(Index, Index rows, Index cols)
Definition: DenseStorage.h:323
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::data
const EIGEN_DEVICE_FUNC T * data() const
Definition: DenseStorage.h:284
T
Eigen::Triplet< double > T
Definition: Tutorial_sparse_example.cpp:6
Eigen::internal::plain_array::plain_array
EIGEN_DEVICE_FUNC plain_array()
Definition: DenseStorage.h:49
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::data
EIGEN_DEVICE_FUNC T * data()
Definition: DenseStorage.h:373
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::conservativeResize
void conservativeResize(Index size, Index rows, Index)
Definition: DenseStorage.h:628
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::swap
EIGEN_DEVICE_FUNC void swap(DenseStorage &other)
Definition: DenseStorage.h:324
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage()
Definition: DenseStorage.h:274
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::resize
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resize(Index size, Index rows, Index)
Definition: DenseStorage.h:633
Eigen::DenseStorage
Definition: DenseStorage.h:204
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::operator=
EIGEN_DEVICE_FUNC DenseStorage & operator=(const DenseStorage &other)
Definition: DenseStorage.h:436
Eigen::DenseStorage::data
EIGEN_DEVICE_FUNC T * data()
Definition: DenseStorage.h:267
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::data
const EIGEN_DEVICE_FUNC T * data() const
Definition: DenseStorage.h:570
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::m_data
internal::plain_array< T, Size, _Options > m_data
Definition: DenseStorage.h:301
rows
int rows
Definition: Tutorial_commainit_02.cpp:1
Eigen::DontAlign
@ DontAlign
Definition: Constants.h:325
eigen_internal_assert
#define eigen_internal_assert(x)
Definition: Macros.h:1043
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::rows
EIGEN_DEVICE_FUNC Index rows(void) const EIGEN_NOEXCEPT
Definition: DenseStorage.h:368
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(internal::constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:420
size
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 32 >
Definition: DenseStorage.h:121
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::data
EIGEN_DEVICE_FUNC T * data()
Definition: DenseStorage.h:285
Eigen::internal::compute_default_alignment::value
@ value
Definition: XprHelper.h:243
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::cols
static EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols(void)
Definition: DenseStorage.h:627
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >
Definition: DenseStorage.h:271
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >
Definition: DenseStorage.h:339
Eigen::DenseStorage::resize
EIGEN_DEVICE_FUNC void resize(Index, Index, Index)
Definition: DenseStorage.h:265
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 64 >::plain_array
EIGEN_DEVICE_FUNC plain_array()
Definition: DenseStorage.h:145
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage()
Definition: DenseStorage.h:504
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage()
Definition: DenseStorage.h:419
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::swap
EIGEN_DEVICE_FUNC void swap(DenseStorage &)
Definition: DenseStorage.h:279
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(internal::constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:306
EIGEN_UNUSED_VARIABLE
#define EIGEN_UNUSED_VARIABLE(var)
Definition: Macros.h:1076
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 8 >
Definition: DenseStorage.h:83
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::operator=
EIGEN_DEVICE_FUNC DenseStorage & operator=(const DenseStorage &other)
Definition: DenseStorage.h:595
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::swap
EIGEN_DEVICE_FUNC void swap(DenseStorage &other)
Definition: DenseStorage.h:622
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::data
const EIGEN_DEVICE_FUNC T * data() const
Definition: DenseStorage.h:372
EIGEN_STACK_ALLOCATION_LIMIT
#define EIGEN_STACK_ALLOCATION_LIMIT
Definition: Macros.h:54
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::~DenseStorage
EIGEN_DEVICE_FUNC ~DenseStorage()
Definition: DenseStorage.h:465
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >
Definition: DenseStorage.h:575
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 32 >::plain_array
EIGEN_DEVICE_FUNC plain_array()
Definition: DenseStorage.h:126
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::cols
EIGEN_DEVICE_FUNC Index cols(void) const EIGEN_NOEXCEPT
Definition: DenseStorage.h:551
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::m_data
internal::plain_array< T, Size, _Options > m_data
Definition: DenseStorage.h:341
EIGEN_STRONG_INLINE
#define EIGEN_STRONG_INLINE
Definition: Macros.h:917
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::m_data
T * m_data
Definition: DenseStorage.h:577
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(internal::constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:345
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols)
Definition: DenseStorage.h:506
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::m_cols
Index m_cols
Definition: DenseStorage.h:303
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(internal::constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:275
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::m_data
T * m_data
Definition: DenseStorage.h:415
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >
Definition: DenseStorage.h:299
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::cols
EIGEN_DEVICE_FUNC Index cols() const
Definition: DenseStorage.h:331
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage &other)
Definition: DenseStorage.h:347
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 8 >::plain_array
EIGEN_DEVICE_FUNC plain_array()
Definition: DenseStorage.h:88
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::conservativeResize
EIGEN_DEVICE_FUNC void conservativeResize(Index, Index rows, Index)
Definition: DenseStorage.h:370
EIGEN_ALWAYS_INLINE
#define EIGEN_ALWAYS_INLINE
Definition: Macros.h:932
Eigen::Triplet
A small structure to hold a non zero as a triplet (i,j,value).
Definition: SparseUtil.h:162
Eigen::DenseStorage::rows
static EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows(void) EIGEN_NOEXCEPT
Definition: DenseStorage.h:262
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::swap
EIGEN_DEVICE_FUNC void swap(DenseStorage &other)
Definition: DenseStorage.h:363
Eigen::internal::plain_array< T, 0, MatrixOrArrayOptions, Alignment >::plain_array
EIGEN_DEVICE_FUNC plain_array(constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:163
Eigen::DenseStorage::conservativeResize
EIGEN_DEVICE_FUNC void conservativeResize(Index, Index, Index)
Definition: DenseStorage.h:264
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage &)
Definition: DenseStorage.h:276
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::swap
EIGEN_DEVICE_FUNC void swap(DenseStorage &other)
Definition: DenseStorage.h:400
Eigen::DenseStorage< T, 0, Dynamic, Dynamic, _Options >
Definition: DenseStorage.h:289
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::resize
EIGEN_DEVICE_FUNC void resize(Index, Index, Index cols)
Definition: DenseStorage.h:407
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage &other)
Definition: DenseStorage.h:428
Eigen::DenseStorage::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage()
Definition: DenseStorage.h:211
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::data
EIGEN_DEVICE_FUNC T * data()
Definition: DenseStorage.h:647
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::operator=
EIGEN_DEVICE_FUNC DenseStorage & operator=(const DenseStorage &other)
Definition: DenseStorage.h:519
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::resize
EIGEN_DEVICE_FUNC void resize(Index size, Index rows, Index cols)
Definition: DenseStorage.h:480
Eigen::internal::plain_array::plain_array
EIGEN_DEVICE_FUNC plain_array(constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:55
Eigen::DenseStorage::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols)
Definition: DenseStorage.h:252
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::swap
EIGEN_DEVICE_FUNC void swap(DenseStorage &other)
Definition: DenseStorage.h:546
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 16 >::plain_array
EIGEN_DEVICE_FUNC plain_array(constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:114
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >
Definition: DenseStorage.h:413
a
ArrayXXi a
Definition: Array_initializer_list_23_cxx11.cpp:1
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >
Definition: DenseStorage.h:377
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::operator=
EIGEN_DEVICE_FUNC DenseStorage & operator=(const DenseStorage &other)
Definition: DenseStorage.h:313
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::operator=
EIGEN_DEVICE_FUNC DenseStorage & operator=(const DenseStorage &other)
Definition: DenseStorage.h:353
Eigen::internal::check_static_allocation_size
EIGEN_DEVICE_FUNC void check_static_allocation_size()
Definition: DenseStorage.h:29
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage()
Definition: DenseStorage.h:305
Eigen::DenseStorage::cols
static EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols(void) EIGEN_NOEXCEPT
Definition: DenseStorage.h:263
Eigen::DenseStorage::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage &other)
Definition: DenseStorage.h:219
Eigen::DenseStorage< T, 0, _Rows, Dynamic, _Options >
Definition: DenseStorage.h:292
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::resize
EIGEN_DEVICE_FUNC void resize(Index, Index rows, Index)
Definition: DenseStorage.h:371
EIGEN_STATIC_ASSERT
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::cols
EIGEN_DEVICE_FUNC Index cols(void) const EIGEN_NOEXCEPT
Definition: DenseStorage.h:473
Eigen::internal::plain_array
Definition: DenseStorage.h:44
Eigen::numext::swap
EIGEN_STRONG_INLINE void swap(T &a, T &b)
Definition: Meta.h:766
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 32 >::plain_array
EIGEN_DEVICE_FUNC plain_array(constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:133
Eigen::DenseStorage::operator=
EIGEN_DEVICE_FUNC DenseStorage & operator=(const DenseStorage &other)
Definition: DenseStorage.h:227
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::cols
EIGEN_DEVICE_FUNC Index cols(void) const EIGEN_NOEXCEPT
Definition: DenseStorage.h:405
Eigen::internal::plain_array< T, 0, MatrixOrArrayOptions, Alignment >
Definition: DenseStorage.h:159
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::rows
static EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows(void) EIGEN_NOEXCEPT
Definition: DenseStorage.h:280
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::m_rows
Index m_rows
Definition: DenseStorage.h:416
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::conservativeResize
EIGEN_DEVICE_FUNC void conservativeResize(Index, Index rows, Index cols)
Definition: DenseStorage.h:332
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::DenseStorage
DenseStorage(internal::constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:505
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::conservativeResize
EIGEN_DEVICE_FUNC void conservativeResize(Index, Index, Index cols)
Definition: DenseStorage.h:406
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(Index, Index, Index)
Definition: DenseStorage.h:278
Eigen::DenseStorage::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(internal::constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:215
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::data
const EIGEN_DEVICE_FUNC T * data() const
Definition: DenseStorage.h:408
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::data
const EIGEN_DEVICE_FUNC T * data() const
Definition: DenseStorage.h:494
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::m_rows
Index m_rows
Definition: DenseStorage.h:578
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::rows
EIGEN_DEVICE_FUNC Index rows() const
Definition: DenseStorage.h:330
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::cols
static EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols(void) EIGEN_NOEXCEPT
Definition: DenseStorage.h:281
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >
Definition: DenseStorage.h:499
Eigen::internal::plain_array_helper::swap
EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void swap(plain_array< T, Size, MatrixOrArrayOptions, Alignment > &a, const Eigen::Index a_size, plain_array< T, Size, MatrixOrArrayOptions, Alignment > &b, const Eigen::Index b_size)
Definition: DenseStorage.h:176
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 8 >::plain_array
EIGEN_DEVICE_FUNC plain_array(constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:95
Eigen::DenseStorage< T, Size, Dynamic, Dynamic, _Options >::resize
EIGEN_DEVICE_FUNC void resize(Index, Index rows, Index cols)
Definition: DenseStorage.h:333
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(const DenseStorage &other)
Definition: DenseStorage.h:512
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage()
Definition: DenseStorage.h:382
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 64 >
Definition: DenseStorage.h:140
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(Index, Index, Index cols)
Definition: DenseStorage.h:399
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage()
Definition: DenseStorage.h:580
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::cols
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index cols(void) const EIGEN_NOEXCEPT
Definition: DenseStorage.h:369
EIGEN_NOEXCEPT
#define EIGEN_NOEXCEPT
Definition: Macros.h:1418
internal
Definition: BandTriangularSolver.h:13
Eigen::internal::plain_array_helper::copy
EIGEN_DEVICE_FUNC static EIGEN_STRONG_INLINE void copy(const plain_array< T, Size, MatrixOrArrayOptions, Alignment > &src, const Eigen::Index size, plain_array< T, Size, MatrixOrArrayOptions, Alignment > &dst)
Definition: DenseStorage.h:169
Eigen::internal::smart_copy
EIGEN_DEVICE_FUNC void smart_copy(const T *start, const T *end, T *target)
Definition: Memory.h:515
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::data
EIGEN_DEVICE_FUNC T * data()
Definition: DenseStorage.h:571
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::m_cols
Index m_cols
Definition: DenseStorage.h:417
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::rows
static EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rows(void) EIGEN_NOEXCEPT
Definition: DenseStorage.h:550
Eigen::DenseStorage::swap
EIGEN_DEVICE_FUNC void swap(DenseStorage &other)
Definition: DenseStorage.h:259
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::~DenseStorage
EIGEN_DEVICE_FUNC ~DenseStorage()
Definition: DenseStorage.h:621
Eigen::internal::size
EIGEN_CONSTEXPR Index size(const T &x)
Definition: Meta.h:479
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::conservativeResize
void conservativeResize(Index size, Index rows, Index cols)
Definition: DenseStorage.h:474
cols
int cols
Definition: Tutorial_commainit_02.cpp:1
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::operator=
EIGEN_DEVICE_FUNC DenseStorage & operator=(const DenseStorage &other)
Definition: DenseStorage.h:390
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::resize
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resize(Index size, Index, Index cols)
Definition: DenseStorage.h:557
Eigen::DenseStorage< T, Size, _Rows, Dynamic, _Options >::data
EIGEN_DEVICE_FUNC T * data()
Definition: DenseStorage.h:409
Eigen::DenseStorage< T, Dynamic, _Rows, Dynamic, _Options >::conservativeResize
EIGEN_DEVICE_FUNC void conservativeResize(Index size, Index, Index cols)
Definition: DenseStorage.h:552
swap
int EIGEN_BLAS_FUNC() swap(int *n, RealScalar *px, int *incx, RealScalar *py, int *incy)
Definition: level1_impl.h:130
Eigen::DenseStorage< T, Dynamic, Dynamic, Dynamic, _Options >::rows
EIGEN_DEVICE_FUNC Index rows(void) const EIGEN_NOEXCEPT
Definition: DenseStorage.h:472
Eigen::internal::plain_array< T, Size, MatrixOrArrayOptions, 64 >::plain_array
EIGEN_DEVICE_FUNC plain_array(constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:152
Eigen::internal::plain_array::array
T array[Size]
Definition: DenseStorage.h:46
pybind_wrapper_test_script.other
other
Definition: pybind_wrapper_test_script.py:42
Eigen::DenseStorage::m_data
internal::plain_array< T, Size, _Options > m_data
Definition: DenseStorage.h:209
Eigen::DenseStorage< T, 0, Dynamic, _Cols, _Options >
Definition: DenseStorage.h:295
EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT
#define EIGEN_MAKE_UNALIGNED_ARRAY_ASSERT(sizemask)
Definition: DenseStorage.h:75
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage(Index size, Index rows, Index cols)
Definition: DenseStorage.h:582
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::m_rows
Index m_rows
Definition: DenseStorage.h:342
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::resize
EIGEN_DEVICE_FUNC void resize(Index, Index, Index)
Definition: DenseStorage.h:283
Eigen::internal::plain_array< T, 0, MatrixOrArrayOptions, Alignment >::plain_array
EIGEN_DEVICE_FUNC plain_array()
Definition: DenseStorage.h:162
Eigen::DenseStorage< T, Size, Dynamic, _Cols, _Options >::DenseStorage
EIGEN_DEVICE_FUNC DenseStorage()
Definition: DenseStorage.h:344
Eigen::Index
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
Eigen::internal::conditional_aligned_new_auto
EIGEN_DEVICE_FUNC T * conditional_aligned_new_auto(std::size_t size)
Definition: Memory.h:399
Eigen::DenseStorage< T, Dynamic, Dynamic, _Cols, _Options >::DenseStorage
DenseStorage(internal::constructor_without_unaligned_array_assert)
Definition: DenseStorage.h:581
Eigen::DenseStorage< T, 0, _Rows, _Cols, _Options >::conservativeResize
EIGEN_DEVICE_FUNC void conservativeResize(Index, Index, Index)
Definition: DenseStorage.h:282


gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:02:12