Go to the documentation of this file.
10 #ifndef EIGEN_DENSECOEFFSBASE_H
11 #define EIGEN_DENSECOEFFSBASE_H
34 template<
typename Derived>
67 return int(Derived::RowsAtCompileTime) == 1 ? 0
68 :
int(Derived::ColsAtCompileTime) == 1 ? inner
76 return int(Derived::ColsAtCompileTime) == 1 ? 0
77 :
int(Derived::RowsAtCompileTime) == 1 ? inner
107 return coeff(rowIndexByOuterInner(outer, inner),
108 colIndexByOuterInner(outer, inner));
143 THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS)
162 THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD)
189 x()
const {
return (*
this)[0]; }
197 EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=2, OUT_OF_RANGE_ACCESS);
207 EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=3, OUT_OF_RANGE_ACCESS);
217 EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=4, OUT_OF_RANGE_ACCESS);
231 template<
int LoadMode>
241 template<
int LoadMode>
244 return packet<LoadMode>(rowIndexByOuterInner(outer, inner),
245 colIndexByOuterInner(outer, inner));
258 template<
int LoadMode>
262 THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS)
275 void coeffRefByOuterInner();
277 void writePacketByOuterInner();
279 void copyCoeffByOuterInner();
281 void copyPacketByOuterInner();
301 template<
typename Derived>
318 using Base::rowIndexByOuterInner;
319 using Base::colIndexByOuterInner;
320 using Base::operator[];
321 using Base::operator();
353 return coeffRef(rowIndexByOuterInner(outer, inner),
354 colIndexByOuterInner(outer, inner));
368 return coeffRef(
row,
col);
392 THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS)
409 THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD)
411 return coeffRef(index);
428 return coeffRef(index);
435 x() {
return (*
this)[0]; }
443 EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=2, OUT_OF_RANGE_ACCESS);
453 EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=3, OUT_OF_RANGE_ACCESS);
463 EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=4, OUT_OF_RANGE_ACCESS);
480 template<
typename Derived>
501 return derived().innerStride();
512 return derived().outerStride();
518 return Derived::IsVectorAtCompileTime ? innerStride() : outerStride();
528 return Derived::IsRowMajor ? outerStride() : innerStride();
538 return Derived::IsRowMajor ? innerStride() : outerStride();
554 template<
typename Derived>
576 return derived().innerStride();
587 return derived().outerStride();
593 return Derived::IsVectorAtCompileTime ? innerStride() : outerStride();
603 return Derived::IsRowMajor ? outerStride() : innerStride();
613 return Derived::IsRowMajor ? innerStride() : outerStride();
619 template<
int Alignment,
typename Derived,
bool JustReturnZero>
626 template<
int Alignment,
typename Derived>
631 return internal::first_aligned<Alignment>(
m.data(),
m.size());
642 template<
int Alignment,
typename Derived>
649 template<
typename Derived>
663 template<
typename Derived>
675 template<
typename Derived>
685 #endif // EIGEN_DENSECOEFFSBASE_H
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType operator[](Index index) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType operator()(Index index) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType w() const
#define EIGEN_DEVICE_FUNC
Namespace containing all symbols from the Eigen library.
internal::packet_traits< Scalar >::type PacketScalar
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index colStride() const
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride() const
Eigen::Index Index
The interface type of indices.
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index innerStride() const EIGEN_NOEXCEPT
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType z() const
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
NumTraits< Scalar >::Real RealScalar
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(Index index) const
const unsigned int RowMajorBit
EIGEN_CONSTEXPR Index stride() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index colIndexByOuterInner(Index outer, Index inner) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeffByOuterInner(Index outer, Index inner) const
Eigen::Triplet< double > T
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & coeffRefByOuterInner(Index outer, Index inner)
EIGEN_STRONG_INLINE PacketReturnType packet(Index row, Index col) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & operator()(Index row, Index col)
Base class providing read-only coefficient access to matrices and arrays.
#define eigen_internal_assert(x)
const unsigned int DirectAccessBit
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rowStride() const
EIGEN_STRONG_INLINE PacketReturnType packetByOuterInner(Index outer, Index inner) const
internal::packet_traits< Scalar >::type PacketScalar
conditional< is_arithmetic< T >::value, T, typename add_const_on_value_type< T >::type >::type type
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType y() const
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index innerStride() const
const unsigned int LvalueBit
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rowIndexByOuterInner(Index outer, Index inner) const
internal::traits< Derived >::Scalar Scalar
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType x() const
#define EIGEN_STRONG_INLINE
static Index first_aligned(const DenseBase< Derived > &m)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & operator()(Index index)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & x()
internal::conditional< bool(internal::traits< Derived >::Flags &LvalueBit), const Scalar &, typename internal::conditional< internal::is_arithmetic< Scalar >::value, Scalar, const Scalar >::type >::type CoeffReturnType
DenseCoeffsBase< Derived, WriteAccessors > Base
NumTraits< Scalar >::Real RealScalar
EIGEN_STRONG_INLINE PacketReturnType packet(Index index) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & y()
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index rowStride() const EIGEN_NOEXCEPT
DenseCoeffsBase< Derived, ReadOnlyAccessors > Base
internal::traits< Derived >::Scalar Scalar
const unsigned int LinearAccessBit
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & coeffRef(Index index)
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outerStride() const EIGEN_NOEXCEPT
internal::traits< Derived >::Scalar Scalar
NumTraits< Scalar >::Real RealScalar
EigenBase< Derived > Base
Base class for all dense matrices, vectors, and arrays.
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & operator[](Index index)
internal::traits< Derived >::StorageKind StorageKind
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & z()
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index colStride() const EIGEN_NOEXCEPT
static Index first_default_aligned(const DenseBase< Derived > &m)
internal::traits< Derived >::StorageKind StorageKind
internal::traits< Derived >::Scalar Scalar
EIGEN_CONSTEXPR Index stride() const EIGEN_NOEXCEPT
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & w()
DenseCoeffsBase< Derived, ReadOnlyAccessors > Base
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType operator()(Index row, Index col) const
internal::add_const_on_value_type_if_arithmetic< typename internal::packet_traits< Scalar >::type >::type PacketReturnType
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType coeff(Index row, Index col) const
Base class providing read/write coefficient access to matrices and arrays.
static Index run(const Derived &m)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
static EIGEN_CONSTEXPR Index run(const Derived &) EIGEN_NOEXCEPT
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar & coeffRef(Index row, Index col)
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:02:12