|
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.