MOAB
4.9.3pre
|
#include <Block.h>
Public Types | |
typedef internal::dense_xpr_base < BlockType >::type | Base |
Public Member Functions | |
EIGEN_DEVICE_FUNC | BlockImpl_dense (XprType &xpr, Index i) |
EIGEN_DEVICE_FUNC | BlockImpl_dense (XprType &xpr, Index startRow, Index startCol) |
EIGEN_DEVICE_FUNC | BlockImpl_dense (XprType &xpr, Index startRow, Index startCol, Index blockRows, Index blockCols) |
EIGEN_DEVICE_FUNC Index | rows () const |
EIGEN_DEVICE_FUNC Index | cols () const |
EIGEN_DEVICE_FUNC Scalar & | coeffRef (Index rowId, Index colId) |
EIGEN_DEVICE_FUNC const Scalar & | coeffRef (Index rowId, Index colId) const |
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CoeffReturnType | coeff (Index rowId, Index colId) const |
EIGEN_DEVICE_FUNC Scalar & | coeffRef (Index index) |
EIGEN_DEVICE_FUNC const Scalar & | coeffRef (Index index) const |
EIGEN_DEVICE_FUNC const CoeffReturnType | coeff (Index index) const |
template<int LoadMode> | |
PacketScalar | packet (Index rowId, Index colId) const |
template<int LoadMode> | |
void | writePacket (Index rowId, Index colId, const PacketScalar &val) |
template<int LoadMode> | |
PacketScalar | packet (Index index) const |
template<int LoadMode> | |
void | writePacket (Index index, const PacketScalar &val) |
EIGEN_DEVICE_FUNC const internal::remove_all < XprTypeNested >::type & | nestedExpression () const |
EIGEN_DEVICE_FUNC XprType & | nestedExpression () |
EIGEN_DEVICE_FUNC StorageIndex | startRow () const |
EIGEN_DEVICE_FUNC StorageIndex | startCol () const |
Protected Attributes | |
XprTypeNested | m_xpr |
const internal::variable_if_dynamic < StorageIndex,(XprType::RowsAtCompileTime==1 &&BlockRows==1)?0:Dynamic > | m_startRow |
const internal::variable_if_dynamic < StorageIndex,(XprType::ColsAtCompileTime==1 &&BlockCols==1)?0:Dynamic > | m_startCol |
const internal::variable_if_dynamic < StorageIndex, RowsAtCompileTime > | m_blockRows |
const internal::variable_if_dynamic < StorageIndex, ColsAtCompileTime > | m_blockCols |
Private Types | |
typedef Block< XprType, BlockRows, BlockCols, InnerPanel > | BlockType |
typedef internal::ref_selector < XprType >::non_const_type | XprTypeNested |
Internal implementation of dense Blocks in the general case.
typedef internal::dense_xpr_base<BlockType>::type Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::Base |
Reimplemented in Eigen::BlockImpl< XprType, BlockRows, BlockCols, InnerPanel, Dense >.
typedef Block<XprType, BlockRows, BlockCols, InnerPanel> Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::BlockType [private] |
typedef internal::ref_selector<XprType>::non_const_type Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::XprTypeNested [private] |
EIGEN_DEVICE_FUNC Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::BlockImpl_dense | ( | XprType & | xpr, |
Index | i | ||
) | [inline] |
Column or Row constructor
Definition at line 188 of file Block.h.
: m_xpr(xpr), // It is a row if and only if BlockRows==1 and BlockCols==XprType::ColsAtCompileTime, // and it is a column if and only if BlockRows==XprType::RowsAtCompileTime and BlockCols==1, // all other cases are invalid. // The case a 1x1 matrix seems ambiguous, but the result is the same anyway. m_startRow( (BlockRows==1) && (BlockCols==XprType::ColsAtCompileTime) ? i : 0), m_startCol( (BlockRows==XprType::RowsAtCompileTime) && (BlockCols==1) ? i : 0), m_blockRows(BlockRows==1 ? 1 : xpr.rows()), m_blockCols(BlockCols==1 ? 1 : xpr.cols()) {}
EIGEN_DEVICE_FUNC Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::BlockImpl_dense | ( | XprType & | xpr, |
Index | startRow, | ||
Index | startCol | ||
) | [inline] |
Fixed-size constructor
Definition at line 203 of file Block.h.
: m_xpr(xpr), m_startRow(startRow), m_startCol(startCol), m_blockRows(BlockRows), m_blockCols(BlockCols) {}
EIGEN_DEVICE_FUNC Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::BlockImpl_dense | ( | XprType & | xpr, |
Index | startRow, | ||
Index | startCol, | ||
Index | blockRows, | ||
Index | blockCols | ||
) | [inline] |
Dynamic-size constructor
Definition at line 211 of file Block.h.
: m_xpr(xpr), m_startRow(startRow), m_startCol(startCol), m_blockRows(blockRows), m_blockCols(blockCols) {}
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CoeffReturnType Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::coeff | ( | Index | rowId, |
Index | colId | ||
) | const [inline] |
Definition at line 235 of file Block.h.
{ return m_xpr.coeff(rowId + m_startRow.value(), colId + m_startCol.value()); }
EIGEN_DEVICE_FUNC const CoeffReturnType Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::coeff | ( | Index | index | ) | const [inline] |
Definition at line 256 of file Block.h.
{ return m_xpr.coeff(m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index), m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0)); }
EIGEN_DEVICE_FUNC Scalar& Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::coeffRef | ( | Index | rowId, |
Index | colId | ||
) | [inline] |
Definition at line 222 of file Block.h.
{ EIGEN_STATIC_ASSERT_LVALUE(XprType) return m_xpr.coeffRef(rowId + m_startRow.value(), colId + m_startCol.value()); }
EIGEN_DEVICE_FUNC const Scalar& Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::coeffRef | ( | Index | rowId, |
Index | colId | ||
) | const [inline] |
Definition at line 229 of file Block.h.
{ return m_xpr.derived().coeffRef(rowId + m_startRow.value(), colId + m_startCol.value()); }
EIGEN_DEVICE_FUNC Scalar& Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::coeffRef | ( | Index | index | ) | [inline] |
Definition at line 241 of file Block.h.
{ EIGEN_STATIC_ASSERT_LVALUE(XprType) return m_xpr.coeffRef(m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index), m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0)); }
EIGEN_DEVICE_FUNC const Scalar& Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::coeffRef | ( | Index | index | ) | const [inline] |
Definition at line 249 of file Block.h.
{ return m_xpr.coeffRef(m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index), m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0)); }
EIGEN_DEVICE_FUNC Index Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::cols | ( | ) | const [inline] |
Definition at line 219 of file Block.h.
{ return m_blockCols.value(); }
EIGEN_DEVICE_FUNC const internal::remove_all<XprTypeNested>::type& Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::nestedExpression | ( | ) | const [inline] |
EIGEN_DEVICE_FUNC XprType& Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::nestedExpression | ( | ) | [inline] |
PacketScalar Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::packet | ( | Index | rowId, |
Index | colId | ||
) | const [inline] |
Definition at line 263 of file Block.h.
{ return m_xpr.template packet<Unaligned>(rowId + m_startRow.value(), colId + m_startCol.value()); }
PacketScalar Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::packet | ( | Index | index | ) | const [inline] |
Definition at line 275 of file Block.h.
{ return m_xpr.template packet<Unaligned> (m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index), m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0)); }
EIGEN_DEVICE_FUNC Index Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::rows | ( | ) | const [inline] |
Definition at line 218 of file Block.h.
{ return m_blockRows.value(); }
EIGEN_DEVICE_FUNC StorageIndex Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::startCol | ( | ) | const [inline] |
Definition at line 313 of file Block.h.
{ return m_startCol.value(); }
EIGEN_DEVICE_FUNC StorageIndex Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::startRow | ( | ) | const [inline] |
Definition at line 307 of file Block.h.
{ return m_startRow.value(); }
void Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::writePacket | ( | Index | rowId, |
Index | colId, | ||
const PacketScalar & | val | ||
) | [inline] |
Definition at line 269 of file Block.h.
{ m_xpr.template writePacket<Unaligned>(rowId + m_startRow.value(), colId + m_startCol.value(), val); }
void Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::writePacket | ( | Index | index, |
const PacketScalar & | val | ||
) | [inline] |
Definition at line 283 of file Block.h.
{ m_xpr.template writePacket<Unaligned> (m_startRow.value() + (RowsAtCompileTime == 1 ? 0 : index), m_startCol.value() + (RowsAtCompileTime == 1 ? index : 0), val); }
const internal::variable_if_dynamic<StorageIndex, ColsAtCompileTime> Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::m_blockCols [protected] |
const internal::variable_if_dynamic<StorageIndex, RowsAtCompileTime> Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::m_blockRows [protected] |
const internal::variable_if_dynamic<StorageIndex, (XprType::ColsAtCompileTime == 1 && BlockCols==1) ? 0 : Dynamic> Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::m_startCol [protected] |
const internal::variable_if_dynamic<StorageIndex, (XprType::RowsAtCompileTime == 1 && BlockRows==1) ? 0 : Dynamic> Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::m_startRow [protected] |
XprTypeNested Eigen::internal::BlockImpl_dense< XprType, BlockRows, BlockCols, InnerPanel, HasDirectAccess >::m_xpr [protected] |