MOAB
4.9.3pre
|
Base class providing read-only coefficient access to matrices and arrays. More...
#include <DenseCoeffsBase.h>
Base class providing read-only coefficient access to matrices and arrays.
Derived | Type of the derived class |
ReadOnlyAccessors | Constant indicating read-only access |
This class defines the operator()
const
function and friends, which can be used to read specific entries of a matrix or array.
Definition at line 34 of file DenseCoeffsBase.h.
typedef EigenBase<Derived> Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::Base |
Reimplemented in Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >, Eigen::DenseCoeffsBase< Derived, DirectAccessors >, and Eigen::DenseCoeffsBase< Derived, WriteAccessors >.
Definition at line 57 of file DenseCoeffsBase.h.
typedef internal::conditional<bool(internal::traits<Derived>::Flags&LvalueBit), const Scalar&, typename internal::conditional<internal::is_arithmetic<Scalar>::value, Scalar, const Scalar>::type >::type Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::CoeffReturnType |
Definition at line 51 of file DenseCoeffsBase.h.
typedef internal::add_const_on_value_type_if_arithmetic< typename internal::packet_traits<Scalar>::type >::type Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::PacketReturnType |
Definition at line 55 of file DenseCoeffsBase.h.
typedef internal::packet_traits<Scalar>::type Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::PacketScalar |
Reimplemented in Eigen::DenseCoeffsBase< Derived, WriteAccessors >.
Definition at line 39 of file DenseCoeffsBase.h.
typedef internal::traits<Derived>::Scalar Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::Scalar |
Reimplemented in Eigen::DenseCoeffsBase< Derived, DirectWriteAccessors >, Eigen::DenseCoeffsBase< Derived, DirectAccessors >, and Eigen::DenseCoeffsBase< Derived, WriteAccessors >.
Definition at line 38 of file DenseCoeffsBase.h.
typedef internal::traits<Derived>::StorageKind Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::StorageKind |
Reimplemented from Eigen::EigenBase< Derived >.
Reimplemented in Eigen::DenseCoeffsBase< Derived, WriteAccessors >.
Definition at line 37 of file DenseCoeffsBase.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::coeff | ( | Index | row, |
Index | col | ||
) | const [inline] |
Short version: don't use this function, use operator()(Index,Index) const instead.
Long version: this function is similar to operator()(Index,Index) const , but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameters row and col are in range.
If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator()(Index,Index) const .
Definition at line 96 of file DenseCoeffsBase.h.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::coeff | ( | Index | index | ) | const [inline] |
Short version: don't use this function, use operator[](Index) const instead.
Long version: this function is similar to operator[](Index) const , but without the assertion. Use this for limiting the performance cost of debugging code when doing repeated coefficient access. Only use this when it is guaranteed that the parameter index is in range.
If EIGEN_INTERNAL_DEBUGGING is defined, an assertion will be made, making this function equivalent to operator[](Index) const .
Definition at line 139 of file DenseCoeffsBase.h.
{ EIGEN_STATIC_ASSERT(internal::evaluator<Derived>::Flags & LinearAccessBit, THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS) eigen_internal_assert(index >= 0 && index < size()); return internal::evaluator<Derived>(derived()).coeff(index); }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::coeffByOuterInner | ( | Index | outer, |
Index | inner | ||
) | const [inline] |
Definition at line 104 of file DenseCoeffsBase.h.
{ return coeff(rowIndexByOuterInner(outer, inner), colIndexByOuterInner(outer, inner)); }
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::coeffRef | ( | ) | [protected] |
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::coeffRefByOuterInner | ( | ) | [protected] |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::colIndexByOuterInner | ( | Index | outer, |
Index | inner | ||
) | const [inline] |
Definition at line 73 of file DenseCoeffsBase.h.
{ return int(Derived::ColsAtCompileTime) == 1 ? 0 : int(Derived::RowsAtCompileTime) == 1 ? inner : int(Derived::Flags)&RowMajorBit ? inner : outer; }
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::colStride | ( | ) | [protected] |
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::copyCoeff | ( | ) | [protected] |
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::copyCoeffByOuterInner | ( | ) | [protected] |
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::copyPacket | ( | ) | [protected] |
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::copyPacketByOuterInner | ( | ) | [protected] |
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::innerStride | ( | ) | [protected] |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::operator() | ( | Index | row, |
Index | col | ||
) | const [inline] |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::operator() | ( | Index | index | ) | const [inline] |
This is synonymous to operator[](Index) const.
This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.
Definition at line 178 of file DenseCoeffsBase.h.
{ eigen_assert(index >= 0 && index < size()); return coeff(index); }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::operator[] | ( | Index | index | ) | const [inline] |
This method is allowed only for vector expressions, and for matrix expressions having the LinearAccessBit.
Definition at line 158 of file DenseCoeffsBase.h.
{ EIGEN_STATIC_ASSERT(Derived::IsVectorAtCompileTime, THE_BRACKET_OPERATOR_IS_ONLY_FOR_VECTORS__USE_THE_PARENTHESIS_OPERATOR_INSTEAD) eigen_assert(index >= 0 && index < size()); return coeff(index); }
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::outerStride | ( | ) | [protected] |
EIGEN_STRONG_INLINE PacketReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::packet | ( | Index | row, |
Index | col | ||
) | const [inline] |
The LoadMode parameter may have the value Aligned or Unaligned. Its effect is to select the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets starting at an address which is a multiple of the packet size.
Definition at line 231 of file DenseCoeffsBase.h.
EIGEN_STRONG_INLINE PacketReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::packet | ( | Index | index | ) | const [inline] |
The LoadMode parameter may have the value Aligned or Unaligned. Its effect is to select the appropriate vectorization instruction. Aligned access is faster, but is only possible for packets starting at an address which is a multiple of the packet size.
Definition at line 258 of file DenseCoeffsBase.h.
{ EIGEN_STATIC_ASSERT(internal::evaluator<Derived>::Flags & LinearAccessBit, THIS_COEFFICIENT_ACCESSOR_TAKING_ONE_ACCESS_IS_ONLY_FOR_EXPRESSIONS_ALLOWING_LINEAR_ACCESS) typedef typename internal::packet_traits<Scalar>::type DefaultPacketType; eigen_internal_assert(index >= 0 && index < size()); return internal::evaluator<Derived>(derived()).template packet<LoadMode,DefaultPacketType>(index); }
EIGEN_STRONG_INLINE PacketReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::packetByOuterInner | ( | Index | outer, |
Index | inner | ||
) | const [inline] |
Definition at line 241 of file DenseCoeffsBase.h.
{ return packet<LoadMode>(rowIndexByOuterInner(outer, inner), colIndexByOuterInner(outer, inner)); }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::rowIndexByOuterInner | ( | Index | outer, |
Index | inner | ||
) | const [inline] |
Definition at line 64 of file DenseCoeffsBase.h.
{ return int(Derived::RowsAtCompileTime) == 1 ? 0 : int(Derived::ColsAtCompileTime) == 1 ? inner : int(Derived::Flags)&RowMajorBit ? outer : inner; }
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::rowStride | ( | ) | [protected] |
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::stride | ( | ) | [protected] |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::w | ( | ) | const [inline] |
equivalent to operator[](3).
Definition at line 214 of file DenseCoeffsBase.h.
{ EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=4, OUT_OF_RANGE_ACCESS); return (*this)[3]; }
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::writePacket | ( | ) | [protected] |
void Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::writePacketByOuterInner | ( | ) | [protected] |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::x | ( | ) | const [inline] |
equivalent to operator[](0).
Definition at line 188 of file DenseCoeffsBase.h.
{ return (*this)[0]; }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::y | ( | ) | const [inline] |
equivalent to operator[](1).
Definition at line 194 of file DenseCoeffsBase.h.
{ EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=2, OUT_OF_RANGE_ACCESS); return (*this)[1]; }
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CoeffReturnType Eigen::DenseCoeffsBase< Derived, ReadOnlyAccessors >::z | ( | ) | const [inline] |
equivalent to operator[](2).
Definition at line 204 of file DenseCoeffsBase.h.
{ EIGEN_STATIC_ASSERT(Derived::SizeAtCompileTime==-1 || Derived::SizeAtCompileTime>=3, OUT_OF_RANGE_ACCESS); return (*this)[2]; }