DenseCoeffsBase.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) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
5 //
6 // This Source Code Form is subject to the terms of the Mozilla
7 // Public License v. 2.0. If a copy of the MPL was not distributed
8 // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 
10 #ifndef EIGEN_DENSECOEFFSBASE_H
11 #define EIGEN_DENSECOEFFSBASE_H
12 
13 namespace Eigen {
14 
15 namespace internal {
16 template<typename T> struct add_const_on_value_type_if_arithmetic
17 {
19 };
20 }
21 
34 template<typename Derived>
35 class DenseCoeffsBase<Derived,ReadOnlyAccessors> : public EigenBase<Derived>
36 {
37  public:
41 
42  // Explanation for this CoeffReturnType typedef.
43  // - This is the return type of the coeff() method.
44  // - The LvalueBit means exactly that we can offer a coeffRef() method, which means exactly that we can get references
45  // to coeffs, which means exactly that we can have coeff() return a const reference (as opposed to returning a value).
46  // - The is_artihmetic check is required since "const int", "const double", etc. will cause warnings on some systems
47  // while the declaration of "const T", where T is a non arithmetic type does not. Always returning "const Scalar&" is
48  // not possible, since the underlying expressions might not offer a valid address the reference could be referring to.
50  const Scalar&,
53 
57 
59  using Base::rows;
60  using Base::cols;
61  using Base::size;
62  using Base::derived;
63 
66  {
67  return int(Derived::RowsAtCompileTime) == 1 ? 0
68  : int(Derived::ColsAtCompileTime) == 1 ? inner
69  : int(Derived::Flags)&RowMajorBit ? outer
70  : inner;
71  }
72 
75  {
76  return int(Derived::ColsAtCompileTime) == 1 ? 0
77  : int(Derived::RowsAtCompileTime) == 1 ? inner
78  : int(Derived::Flags)&RowMajorBit ? inner
79  : outer;
80  }
81 
98  {
99  eigen_internal_assert(row >= 0 && row < rows()
100  && col >= 0 && col < cols());
101  return internal::evaluator<Derived>(derived()).coeff(row,col);
102  }
103 
106  {
107  return coeff(rowIndexByOuterInner(outer, inner),
108  colIndexByOuterInner(outer, inner));
109  }
110 
117  {
118  eigen_assert(row >= 0 && row < rows()
119  && col >= 0 && col < cols());
120  return coeff(row, col);
121  }
122 
139  EIGEN_STRONG_INLINE CoeffReturnType
140  coeff(Index index) const
141  {
143  THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS)
144  eigen_internal_assert(index >= 0 && index < size());
145  return internal::evaluator<Derived>(derived()).coeff(index);
146  }
147 
148 
158  EIGEN_STRONG_INLINE CoeffReturnType
159  operator[](Index index) const
160  {
161  EIGEN_STATIC_ASSERT(Derived::IsVectorAtCompileTime,
162  THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD)
163  eigen_assert(index >= 0 && index < size());
164  return coeff(index);
165  }
166 
178  EIGEN_STRONG_INLINE CoeffReturnType
179  operator()(Index index) const
180  {
181  eigen_assert(index >= 0 && index < size());
182  return coeff(index);
183  }
184 
188  EIGEN_STRONG_INLINE CoeffReturnType
189  x() const { return (*this)[0]; }
190 
194  EIGEN_STRONG_INLINE CoeffReturnType
195  y() const
196  {
197  EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=2, OUT_OF_RANGE_ACCESS);
198  return (*this)[1];
199  }
200 
204  EIGEN_STRONG_INLINE CoeffReturnType
205  z() const
206  {
207  EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=3, OUT_OF_RANGE_ACCESS);
208  return (*this)[2];
209  }
210 
214  EIGEN_STRONG_INLINE CoeffReturnType
215  w() const
216  {
217  EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=4, OUT_OF_RANGE_ACCESS);
218  return (*this)[3];
219  }
220 
231  template<int LoadMode>
233  {
234  typedef typename internal::packet_traits<Scalar>::type DefaultPacketType;
235  eigen_internal_assert(row >= 0 && row < rows() && col >= 0 && col < cols());
236  return internal::evaluator<Derived>(derived()).template packet<LoadMode,DefaultPacketType>(row,col);
237  }
238 
239 
241  template<int LoadMode>
243  {
244  return packet<LoadMode>(rowIndexByOuterInner(outer, inner),
245  colIndexByOuterInner(outer, inner));
246  }
247 
258  template<int LoadMode>
260  {
262  THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS)
263  typedef typename internal::packet_traits<Scalar>::type DefaultPacketType;
264  eigen_internal_assert(index >= 0 && index < size());
265  return internal::evaluator<Derived>(derived()).template packet<LoadMode,DefaultPacketType>(index);
266  }
267 
268  protected:
269  // explanation: DenseBase is doing "using ..." on the methods from DenseCoeffsBase.
270  // But some methods are only available in the DirectAccess case.
271  // So we add dummy methods here with these names, so that "using... " doesn't fail.
272  // It's not private so that the child class DenseBase can access them, and it's not public
273  // either since it's an implementation detail, so has to be protected.
274  void coeffRef();
275  void coeffRefByOuterInner();
276  void writePacket();
277  void writePacketByOuterInner();
278  void copyCoeff();
279  void copyCoeffByOuterInner();
280  void copyPacket();
281  void copyPacketByOuterInner();
282  void stride();
283  void innerStride();
284  void outerStride();
285  void rowStride();
286  void colStride();
287 };
288 
301 template<typename Derived>
302 class DenseCoeffsBase<Derived, WriteAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
303 {
304  public:
305 
307 
312 
313  using Base::coeff;
314  using Base::rows;
315  using Base::cols;
316  using Base::size;
317  using Base::derived;
318  using Base::rowIndexByOuterInner;
319  using Base::colIndexByOuterInner;
320  using Base::operator[];
321  using Base::operator();
322  using Base::x;
323  using Base::y;
324  using Base::z;
325  using Base::w;
326 
343  {
344  eigen_internal_assert(row >= 0 && row < rows()
345  && col >= 0 && col < cols());
346  return internal::evaluator<Derived>(derived()).coeffRef(row,col);
347  }
348 
352  {
353  return coeffRef(rowIndexByOuterInner(outer, inner),
354  colIndexByOuterInner(outer, inner));
355  }
356 
365  {
366  eigen_assert(row >= 0 && row < rows()
367  && col >= 0 && col < cols());
368  return coeffRef(row, col);
369  }
370 
371 
390  {
392  THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS)
393  eigen_internal_assert(index >= 0 && index < size());
394  return internal::evaluator<Derived>(derived()).coeffRef(index);
395  }
396 
407  {
408  EIGEN_STATIC_ASSERT(Derived::IsVectorAtCompileTime,
409  THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD)
410  eigen_assert(index >= 0 && index < size());
411  return coeffRef(index);
412  }
413 
426  {
427  eigen_assert(index >= 0 && index < size());
428  return coeffRef(index);
429  }
430 
435  x() { return (*this)[0]; }
436 
441  y()
442  {
443  EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=2, OUT_OF_RANGE_ACCESS);
444  return (*this)[1];
445  }
446 
451  z()
452  {
453  EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=3, OUT_OF_RANGE_ACCESS);
454  return (*this)[2];
455  }
456 
461  w()
462  {
463  EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=4, OUT_OF_RANGE_ACCESS);
464  return (*this)[3];
465  }
466 };
467 
480 template<typename Derived>
481 class DenseCoeffsBase<Derived, DirectAccessors> : public DenseCoeffsBase<Derived, ReadOnlyAccessors>
482 {
483  public:
484 
488 
489  using Base::rows;
490  using Base::cols;
491  using Base::size;
492  using Base::derived;
493 
499  inline Index innerStride() const
500  {
501  return derived().innerStride();
502  }
503 
510  inline Index outerStride() const
511  {
512  return derived().outerStride();
513  }
514 
515  // FIXME shall we remove it ?
516  EIGEN_CONSTEXPR inline Index stride() const
517  {
518  return Derived::IsVectorAtCompileTime ? innerStride() : outerStride();
519  }
520 
526  inline Index rowStride() const
527  {
528  return Derived::IsRowMajor ? outerStride() : innerStride();
529  }
530 
536  inline Index colStride() const
537  {
538  return Derived::IsRowMajor ? innerStride() : outerStride();
539  }
540 };
541 
554 template<typename Derived>
556  : public DenseCoeffsBase<Derived, WriteAccessors>
557 {
558  public:
559 
563 
564  using Base::rows;
565  using Base::cols;
566  using Base::size;
567  using Base::derived;
568 
575  {
576  return derived().innerStride();
577  }
578 
586  {
587  return derived().outerStride();
588  }
589 
590  // FIXME shall we remove it ?
592  {
593  return Derived::IsVectorAtCompileTime ? innerStride() : outerStride();
594  }
595 
602  {
603  return Derived::IsRowMajor ? outerStride() : innerStride();
604  }
605 
612  {
613  return Derived::IsRowMajor ? innerStride() : outerStride();
614  }
615 };
616 
617 namespace internal {
618 
619 template<int Alignment, typename Derived, bool JustReturnZero>
621 {
622  static EIGEN_CONSTEXPR inline Index run(const Derived&) EIGEN_NOEXCEPT
623  { return 0; }
624 };
625 
626 template<int Alignment, typename Derived>
627 struct first_aligned_impl<Alignment, Derived, false>
628 {
629  static inline Index run(const Derived& m)
630  {
631  return internal::first_aligned<Alignment>(m.data(), m.size());
632  }
633 };
634 
642 template<int Alignment, typename Derived>
644 {
645  enum { ReturnZero = (int(evaluator<Derived>::Alignment) >= Alignment) || !(Derived::Flags & DirectAccessBit) };
647 }
648 
649 template<typename Derived>
651 {
652  typedef typename Derived::Scalar Scalar;
653  typedef typename packet_traits<Scalar>::type DefaultPacketType;
655 }
656 
659 {
661 };
662 
663 template<typename Derived>
664 struct inner_stride_at_compile_time<Derived, false>
665 {
666  enum { ret = 0 };
667 };
668 
671 {
673 };
674 
675 template<typename Derived>
676 struct outer_stride_at_compile_time<Derived, false>
677 {
678  enum { ret = 0 };
679 };
680 
681 } // end namespace internal
682 
683 } // end namespace Eigen
684 
685 #endif // EIGEN_DENSECOEFFSBASE_H
w
RowVector3d w
Definition: Matrix_resize_int.cpp:3
gtsam.examples.DogLegOptimizerExample.int
int
Definition: DogLegOptimizerExample.py:111
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::operator[]
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType operator[](Index index) const
Definition: DenseCoeffsBase.h:159
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::operator()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType operator()(Index index) const
Definition: DenseCoeffsBase.h:179
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::w
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType w() const
Definition: DenseCoeffsBase.h:215
Eigen::internal::add_const_on_value_type_if_arithmetic
Definition: DenseCoeffsBase.h:16
EIGEN_DEVICE_FUNC
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:976
Eigen
Namespace containing all symbols from the Eigen library.
Definition: jet.h:637
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::PacketScalar
internal::packet_traits< Scalar >::type PacketScalar
Definition: DenseCoeffsBase.h:40
Eigen::DenseCoeffsBase< Derived, DirectAccessors >::colStride
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index colStride() const
Definition: DenseCoeffsBase.h:536
col
m col(1)
Eigen::DenseCoeffsBase< Derived, DirectAccessors >::outerStride
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride() const
Definition: DenseCoeffsBase.h:510
Eigen::EigenBase::Index
Eigen::Index Index
The interface type of indices.
Definition: EigenBase.h:39
Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >::innerStride
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index innerStride() const EIGEN_NOEXCEPT
Definition: DenseCoeffsBase.h:574
Eigen::EigenBase
Definition: EigenBase.h:29
eigen_assert
#define eigen_assert(x)
Definition: Macros.h:1037
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::z
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType z() const
Definition: DenseCoeffsBase.h:205
x
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Definition: gnuplot_common_settings.hh:12
Eigen::DenseCoeffsBase< Derived, DirectAccessors >::RealScalar
NumTraits< Scalar >::Real RealScalar
Definition: DenseCoeffsBase.h:487
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::coeff
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(Index index) const
Definition: DenseCoeffsBase.h:140
Eigen::RowMajorBit
const unsigned int RowMajorBit
Definition: Constants.h:66
Eigen::DenseCoeffsBase< Derived, DirectAccessors >::stride
EIGEN_CONSTEXPR Index stride() const
Definition: DenseCoeffsBase.h:516
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::colIndexByOuterInner
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index colIndexByOuterInner(Index outer, Index inner) const
Definition: DenseCoeffsBase.h:74
ret
DenseIndex ret
Definition: level1_cplx_impl.h:44
Eigen::internal::packet_traits
Definition: GenericPacketMath.h:106
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::coeffByOuterInner
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeffByOuterInner(Index outer, Index inner) const
Definition: DenseCoeffsBase.h:105
EIGEN_CONSTEXPR
#define EIGEN_CONSTEXPR
Definition: Macros.h:787
type
Definition: pytypes.h:1525
T
Eigen::Triplet< double > T
Definition: Tutorial_sparse_example.cpp:6
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::coeffRefByOuterInner
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & coeffRefByOuterInner(Index outer, Index inner)
Definition: DenseCoeffsBase.h:351
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::packet
EIGEN_STRONG_INLINE PacketReturnType packet(Index row, Index col) const
Definition: DenseCoeffsBase.h:232
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::operator()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & operator()(Index row, Index col)
Definition: DenseCoeffsBase.h:364
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >
Base class providing read-only coefficient access to matrices and arrays.
Definition: DenseCoeffsBase.h:35
rows
int rows
Definition: Tutorial_commainit_02.cpp:1
Eigen::internal::outer_stride_at_compile_time::ret
@ ret
Definition: DenseCoeffsBase.h:672
eigen_internal_assert
#define eigen_internal_assert(x)
Definition: Macros.h:1043
Eigen::DirectAccessBit
const unsigned int DirectAccessBit
Definition: Constants.h:155
Eigen::DenseCoeffsBase< Derived, DirectAccessors >::rowStride
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rowStride() const
Definition: DenseCoeffsBase.h:526
size
Scalar Scalar int size
Definition: benchVecAdd.cpp:17
Eigen::internal::inner_stride_at_compile_time::ret
@ ret
Definition: DenseCoeffsBase.h:660
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::packetByOuterInner
EIGEN_STRONG_INLINE PacketReturnType packetByOuterInner(Index outer, Index inner) const
Definition: DenseCoeffsBase.h:242
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::PacketScalar
internal::packet_traits< Scalar >::type PacketScalar
Definition: DenseCoeffsBase.h:310
Eigen::internal::true_type
Definition: Meta.h:96
Eigen::DirectAccessors
@ DirectAccessors
Definition: Constants.h:380
Eigen::internal::add_const_on_value_type_if_arithmetic::type
conditional< is_arithmetic< T >::value, T, typename add_const_on_value_type< T >::type >::type type
Definition: DenseCoeffsBase.h:18
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::y
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType y() const
Definition: DenseCoeffsBase.h:195
Eigen::DenseCoeffsBase< Derived, DirectAccessors >::innerStride
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index innerStride() const
Definition: DenseCoeffsBase.h:499
Eigen::LvalueBit
const unsigned int LvalueBit
Definition: Constants.h:144
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::rowIndexByOuterInner
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rowIndexByOuterInner(Index outer, Index inner) const
Definition: DenseCoeffsBase.h:65
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::Scalar
internal::traits< Derived >::Scalar Scalar
Definition: DenseCoeffsBase.h:39
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::x
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType x() const
Definition: DenseCoeffsBase.h:189
Eigen::internal::unpacket_traits
Definition: GenericPacketMath.h:132
EIGEN_STRONG_INLINE
#define EIGEN_STRONG_INLINE
Definition: Macros.h:917
Eigen::internal::first_aligned
static Index first_aligned(const DenseBase< Derived > &m)
Definition: DenseCoeffsBase.h:643
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::operator()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & operator()(Index index)
Definition: DenseCoeffsBase.h:425
Eigen::internal::outer_stride_at_compile_time
Definition: DenseCoeffsBase.h:670
Eigen::internal::first_aligned_impl
Definition: DenseCoeffsBase.h:620
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::x
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & x()
Definition: DenseCoeffsBase.h:435
pybind_wrapper_test_script.z
z
Definition: pybind_wrapper_test_script.py:61
m
Matrix3f m
Definition: AngleAxis_mimic_euler.cpp:1
Eigen::Triplet< double >
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::CoeffReturnType
internal::conditional< bool(internal::traits< Derived >::Flags &LvalueBit), const Scalar &, typename internal::conditional< internal::is_arithmetic< Scalar >::value, Scalar, const Scalar >::type >::type CoeffReturnType
Definition: DenseCoeffsBase.h:52
Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >::Base
DenseCoeffsBase< Derived, WriteAccessors > Base
Definition: DenseCoeffsBase.h:560
Eigen::internal::evaluator
Definition: CoreEvaluators.h:90
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::RealScalar
NumTraits< Scalar >::Real RealScalar
Definition: DenseCoeffsBase.h:311
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::packet
EIGEN_STRONG_INLINE PacketReturnType packet(Index index) const
Definition: DenseCoeffsBase.h:259
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::y
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & y()
Definition: DenseCoeffsBase.h:441
Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >::rowStride
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rowStride() const EIGEN_NOEXCEPT
Definition: DenseCoeffsBase.h:601
Eigen::ReadOnlyAccessors
@ ReadOnlyAccessors
Definition: Constants.h:376
y
Scalar * y
Definition: level1_cplx_impl.h:124
Eigen::DenseCoeffsBase< Derived, DirectAccessors >::Base
DenseCoeffsBase< Derived, ReadOnlyAccessors > Base
Definition: DenseCoeffsBase.h:485
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::Scalar
internal::traits< Derived >::Scalar Scalar
Definition: DenseCoeffsBase.h:309
Eigen::internal::inner_stride_at_compile_time
Definition: DenseCoeffsBase.h:658
Eigen::LinearAccessBit
const unsigned int LinearAccessBit
Definition: Constants.h:130
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::coeffRef
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & coeffRef(Index index)
Definition: DenseCoeffsBase.h:389
Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >::outerStride
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride() const EIGEN_NOEXCEPT
Definition: DenseCoeffsBase.h:585
Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >::Scalar
internal::traits< Derived >::Scalar Scalar
Definition: DenseCoeffsBase.h:561
Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >::RealScalar
NumTraits< Scalar >::Real RealScalar
Definition: DenseCoeffsBase.h:562
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::Base
EigenBase< Derived > Base
Definition: DenseCoeffsBase.h:58
Eigen::internal::traits
Definition: ForwardDeclarations.h:17
Eigen::DenseBase
Base class for all dense matrices, vectors, and arrays.
Definition: DenseBase.h:41
EIGEN_STATIC_ASSERT
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::operator[]
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & operator[](Index index)
Definition: DenseCoeffsBase.h:406
row
m row(1)
Eigen::internal::conditional
Definition: Meta.h:109
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::StorageKind
internal::traits< Derived >::StorageKind StorageKind
Definition: DenseCoeffsBase.h:308
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::z
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & z()
Definition: DenseCoeffsBase.h:451
Eigen::DirectWriteAccessors
@ DirectWriteAccessors
Definition: Constants.h:382
Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >::colStride
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index colStride() const EIGEN_NOEXCEPT
Definition: DenseCoeffsBase.h:611
Eigen::internal::first_default_aligned
static Index first_default_aligned(const DenseBase< Derived > &m)
Definition: DenseCoeffsBase.h:650
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::StorageKind
internal::traits< Derived >::StorageKind StorageKind
Definition: DenseCoeffsBase.h:38
Eigen::DenseCoeffsBase< Derived, DirectAccessors >::Scalar
internal::traits< Derived >::Scalar Scalar
Definition: DenseCoeffsBase.h:486
Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >::stride
EIGEN_CONSTEXPR Index stride() const EIGEN_NOEXCEPT
Definition: DenseCoeffsBase.h:591
EIGEN_NOEXCEPT
#define EIGEN_NOEXCEPT
Definition: Macros.h:1418
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::w
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & w()
Definition: DenseCoeffsBase.h:461
internal
Definition: BandTriangularSolver.h:13
cols
int cols
Definition: Tutorial_commainit_02.cpp:1
Eigen::WriteAccessors
@ WriteAccessors
Definition: Constants.h:378
Eigen::DenseCoeffsBase
Definition: ForwardDeclarations.h:50
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::Base
DenseCoeffsBase< Derived, ReadOnlyAccessors > Base
Definition: DenseCoeffsBase.h:306
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::operator()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType operator()(Index row, Index col) const
Definition: DenseCoeffsBase.h:116
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::PacketReturnType
internal::add_const_on_value_type_if_arithmetic< typename internal::packet_traits< Scalar >::type >::type PacketReturnType
Definition: DenseCoeffsBase.h:56
Eigen::NumTraits
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:232
Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::coeff
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(Index row, Index col) const
Definition: DenseCoeffsBase.h:97
Eigen::DenseCoeffsBase< Derived, WriteAccessors >
Base class providing read/write coefficient access to matrices and arrays.
Definition: DenseCoeffsBase.h:302
Scalar
SCALAR Scalar
Definition: bench_gemm.cpp:46
Eigen::internal::first_aligned_impl< Alignment, Derived, false >::run
static Index run(const Derived &m)
Definition: DenseCoeffsBase.h:629
Eigen::Index
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
Eigen::internal::first_aligned_impl::run
static EIGEN_CONSTEXPR Index run(const Derived &) EIGEN_NOEXCEPT
Definition: DenseCoeffsBase.h:622
Eigen::DenseCoeffsBase< Derived, WriteAccessors >::coeffRef
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & coeffRef(Index row, Index col)
Definition: DenseCoeffsBase.h:342
Eigen::internal::add_const_on_value_type
Definition: Meta.h:214


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