MOAB
4.9.3pre
|
Common base class for Map and Ref instance of sparse matrix and vector. More...
#include <SparseMap.h>
Common base class for Map and Ref instance of sparse matrix and vector.
class SparseMapBase
Definition at line 50 of file SparseMap.h.
typedef SparseCompressedBase<Derived> Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::Base |
Reimplemented from Eigen::SparseCompressedBase< Derived >.
Reimplemented in Eigen::SparseMapBase< Derived, WriteAccessors >.
Definition at line 54 of file SparseMap.h.
typedef internal::conditional< bool(internal::is_lvalue<Derived>::value), StorageIndex *, const StorageIndex *>::type Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::IndexPointer [protected] |
Definition at line 66 of file SparseMap.h.
typedef Base::Scalar Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::Scalar |
Reimplemented from Eigen::SparseMatrixBase< Derived >.
Reimplemented in Eigen::SparseMapBase< Derived, WriteAccessors >.
Definition at line 55 of file SparseMap.h.
typedef internal::conditional< bool(internal::is_lvalue<Derived>::value), Scalar *, const Scalar *>::type Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::ScalarPointer [protected] |
Definition at line 63 of file SparseMap.h.
typedef Base::StorageIndex Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::StorageIndex |
Reimplemented from Eigen::SparseMatrixBase< Derived >.
Reimplemented in Eigen::SparseMapBase< Derived, WriteAccessors >.
Definition at line 56 of file SparseMap.h.
anonymous enum |
Definition at line 57 of file SparseMap.h.
{ IsRowMajor = Base::IsRowMajor };
Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::SparseMapBase | ( | Index | rows, |
Index | cols, | ||
Index | nnz, | ||
IndexPointer | outerIndexPtr, | ||
IndexPointer | innerIndexPtr, | ||
ScalarPointer | valuePtr, | ||
IndexPointer | innerNonZerosPtr = 0 |
||
) | [inline] |
Definition at line 124 of file SparseMap.h.
: m_outerSize(IsRowMajor?rows:cols), m_innerSize(IsRowMajor?cols:rows), m_zero_nnz(0,internal::convert_index<StorageIndex>(nnz)), m_outerIndex(outerIndexPtr), m_innerIndices(innerIndexPtr), m_values(valuePtr), m_innerNonZeros(innerNonZerosPtr) {}
Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::SparseMapBase | ( | Index | size, |
Index | nnz, | ||
IndexPointer | innerIndexPtr, | ||
ScalarPointer | valuePtr | ||
) | [inline] |
Definition at line 131 of file SparseMap.h.
: m_outerSize(1), m_innerSize(size), m_zero_nnz(0,internal::convert_index<StorageIndex>(nnz)), m_outerIndex(m_zero_nnz.data()), m_innerIndices(innerIndexPtr), m_values(valuePtr), m_innerNonZeros(0) {}
Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::~SparseMapBase | ( | ) | [inline] |
Empty destructor
Reimplemented in Eigen::SparseMapBase< Derived, WriteAccessors >.
Definition at line 137 of file SparseMap.h.
{}
Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::SparseMapBase | ( | ) | [inline, protected] |
Reimplemented in Eigen::SparseMapBase< Derived, WriteAccessors >.
Definition at line 140 of file SparseMap.h.
{}
Scalar Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::coeff | ( | Index | row, |
Index | col | ||
) | const [inline] |
Definition at line 105 of file SparseMap.h.
{ const Index outer = IsRowMajor ? row : col; const Index inner = IsRowMajor ? col : row; Index start = m_outerIndex[outer]; Index end = isCompressed() ? m_outerIndex[outer+1] : start + m_innerNonZeros[outer]; if (start==end) return Scalar(0); else if (end>0 && inner==m_innerIndices[end-1]) return m_values[end-1]; // ^^ optimization: let's first check if it is the last coefficient // (very common in high level algorithms) const StorageIndex* r = std::lower_bound(&m_innerIndices[start],&m_innerIndices[end-1],inner); const Index id = r-&m_innerIndices[0]; return ((*r==inner) && (id<end)) ? m_values[id] : Scalar(0); }
Index Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::cols | ( | void | ) | const [inline] |
Reimplemented from Eigen::SparseMatrixBase< Derived >.
Definition at line 81 of file SparseMap.h.
{ return IsRowMajor ? m_innerSize : m_outerSize; }
const StorageIndex* Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::innerIndexPtr | ( | ) | const [inline] |
Reimplemented from Eigen::SparseCompressedBase< Derived >.
Definition at line 97 of file SparseMap.h.
{ return m_innerIndices; }
const StorageIndex* Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::innerNonZeroPtr | ( | ) | const [inline] |
Reimplemented from Eigen::SparseCompressedBase< Derived >.
Definition at line 101 of file SparseMap.h.
{ return m_innerNonZeros; }
Index Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::innerSize | ( | ) | const [inline] |
Reimplemented from Eigen::SparseMatrixBase< Derived >.
Definition at line 83 of file SparseMap.h.
{ return m_innerSize; }
bool Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::isCompressed | ( | ) | const [inline] |
*this
is in compressed form. Reimplemented from Eigen::SparseCompressedBase< Derived >.
Definition at line 90 of file SparseMap.h.
{ return m_innerNonZeros==0; }
Index Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::nonZeros | ( | ) | const [inline] |
Reimplemented from Eigen::SparseCompressedBase< Derived >.
Definition at line 87 of file SparseMap.h.
{ return m_zero_nnz[1]; }
const StorageIndex* Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::outerIndexPtr | ( | ) | const [inline] |
Reimplemented from Eigen::SparseCompressedBase< Derived >.
Definition at line 99 of file SparseMap.h.
{ return m_outerIndex; }
Index Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::outerSize | ( | ) | const [inline] |
Reimplemented from Eigen::SparseMatrixBase< Derived >.
Definition at line 85 of file SparseMap.h.
{ return m_outerSize; }
Index Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::rows | ( | void | ) | const [inline] |
Reimplemented from Eigen::SparseMatrixBase< Derived >.
Definition at line 79 of file SparseMap.h.
{ return IsRowMajor ? m_outerSize : m_innerSize; }
const Scalar* Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::valuePtr | ( | ) | const [inline] |
Reimplemented from Eigen::SparseCompressedBase< Derived >.
Definition at line 95 of file SparseMap.h.
{ return m_values; }
IndexPointer Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::m_innerIndices [protected] |
Definition at line 72 of file SparseMap.h.
IndexPointer Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::m_innerNonZeros [protected] |
Definition at line 74 of file SparseMap.h.
Index Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::m_innerSize [protected] |
Definition at line 69 of file SparseMap.h.
IndexPointer Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::m_outerIndex [protected] |
Definition at line 71 of file SparseMap.h.
Index Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::m_outerSize [protected] |
Definition at line 68 of file SparseMap.h.
ScalarPointer Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::m_values [protected] |
Definition at line 73 of file SparseMap.h.
Array<StorageIndex,2,1> Eigen::SparseMapBase< Derived, ReadOnlyAccessors >::m_zero_nnz [protected] |
Definition at line 70 of file SparseMap.h.