MOAB
4.9.3pre
|
Common base class for sparse [compressed]-{row|column}-storage format. More...
#include <SparseCompressedBase.h>
Classes | |
class | InnerIterator |
class | ReverseInnerIterator |
Public Types | |
typedef SparseMatrixBase< Derived > | Base |
Public Member Functions | |
Index | nonZeros () const |
const Scalar * | valuePtr () const |
Scalar * | valuePtr () |
const StorageIndex * | innerIndexPtr () const |
StorageIndex * | innerIndexPtr () |
const StorageIndex * | outerIndexPtr () const |
StorageIndex * | outerIndexPtr () |
const StorageIndex * | innerNonZeroPtr () const |
StorageIndex * | innerNonZeroPtr () |
bool | isCompressed () const |
Protected Types | |
typedef Base::IndexVector | IndexVector |
Protected Member Functions | |
Eigen::Map< IndexVector > | innerNonZeros () |
const Eigen::Map< const IndexVector > | innerNonZeros () const |
SparseCompressedBase () | |
Private Member Functions | |
template<typename OtherDerived > | |
SparseCompressedBase (const SparseCompressedBase< OtherDerived > &) |
Common base class for sparse [compressed]-{row|column}-storage format.
This class defines the common interface for all derived classes implementing the compressed sparse storage format, such as:
Definition at line 36 of file SparseCompressedBase.h.
typedef SparseMatrixBase<Derived> Eigen::SparseCompressedBase< Derived >::Base |
Reimplemented from Eigen::SparseMatrixBase< Derived >.
Reimplemented in Eigen::BlockImpl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols, true, Sparse >, Eigen::BlockImpl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols, true, Sparse >, Eigen::SparseMapBase< Derived, WriteAccessors >, Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, Eigen::SparseMapBase< Derived, ReadOnlyAccessors >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 40 of file SparseCompressedBase.h.
typedef Base::IndexVector Eigen::SparseCompressedBase< Derived >::IndexVector [protected] |
Reimplemented from Eigen::SparseMatrixBase< Derived >.
Reimplemented in Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, and Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >.
Definition at line 46 of file SparseCompressedBase.h.
Eigen::SparseCompressedBase< Derived >::SparseCompressedBase | ( | ) | [inline, protected] |
Eigen::SparseCompressedBase< Derived >::SparseCompressedBase | ( | const SparseCompressedBase< OtherDerived > & | ) | [explicit, private] |
const StorageIndex* Eigen::SparseCompressedBase< Derived >::innerIndexPtr | ( | ) | const [inline] |
Reimplemented in Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseMapBase< Derived, ReadOnlyAccessors >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 80 of file SparseCompressedBase.h.
{ return derived().innerIndexPtr(); }
StorageIndex* Eigen::SparseCompressedBase< Derived >::innerIndexPtr | ( | ) | [inline] |
Reimplemented in Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMapBase< Derived, WriteAccessors >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 84 of file SparseCompressedBase.h.
{ return derived().innerIndexPtr(); }
const StorageIndex* Eigen::SparseCompressedBase< Derived >::innerNonZeroPtr | ( | ) | const [inline] |
Reimplemented in Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseMapBase< Derived, ReadOnlyAccessors >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 100 of file SparseCompressedBase.h.
{ return derived().innerNonZeroPtr(); }
StorageIndex* Eigen::SparseCompressedBase< Derived >::innerNonZeroPtr | ( | ) | [inline] |
Reimplemented in Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseMapBase< Derived, WriteAccessors >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 104 of file SparseCompressedBase.h.
{ return derived().innerNonZeroPtr(); }
Eigen::Map<IndexVector> Eigen::SparseCompressedBase< Derived >::innerNonZeros | ( | ) | [inline, protected] |
Definition at line 50 of file SparseCompressedBase.h.
{ return Eigen::Map<IndexVector>(innerNonZeroPtr(), isCompressed()?0:derived().outerSize()); }
const Eigen::Map<const IndexVector> Eigen::SparseCompressedBase< Derived >::innerNonZeros | ( | ) | const [inline, protected] |
Definition at line 51 of file SparseCompressedBase.h.
{ return Eigen::Map<const IndexVector>(innerNonZeroPtr(), isCompressed()?0:derived().outerSize()); }
bool Eigen::SparseCompressedBase< Derived >::isCompressed | ( | ) | const [inline] |
*this
is in compressed form. Reimplemented in Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, and Eigen::SparseMapBase< Derived, ReadOnlyAccessors >.
Definition at line 107 of file SparseCompressedBase.h.
{ return innerNonZeroPtr()==0; }
Index Eigen::SparseCompressedBase< Derived >::nonZeros | ( | ) | const [inline] |
Reimplemented in Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, Eigen::SparseMapBase< Derived, ReadOnlyAccessors >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 56 of file SparseCompressedBase.h.
{ if(Derived::IsVectorAtCompileTime && outerIndexPtr()==0) return derived().nonZeros(); else if(isCompressed()) return outerIndexPtr()[derived().outerSize()]-outerIndexPtr()[0]; else if(derived().outerSize()==0) return 0; else return innerNonZeros().sum(); }
const StorageIndex* Eigen::SparseCompressedBase< Derived >::outerIndexPtr | ( | ) | const [inline] |
Reimplemented in Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseMapBase< Derived, ReadOnlyAccessors >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 90 of file SparseCompressedBase.h.
{ return derived().outerIndexPtr(); }
StorageIndex* Eigen::SparseCompressedBase< Derived >::outerIndexPtr | ( | ) | [inline] |
Reimplemented in Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMapBase< Derived, WriteAccessors >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 95 of file SparseCompressedBase.h.
{ return derived().outerIndexPtr(); }
const Scalar* Eigen::SparseCompressedBase< Derived >::valuePtr | ( | ) | const [inline] |
Reimplemented in Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseMapBase< Derived, ReadOnlyAccessors >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 71 of file SparseCompressedBase.h.
{ return derived().valuePtr(); }
Scalar* Eigen::SparseCompressedBase< Derived >::valuePtr | ( | ) | [inline] |
Reimplemented in Eigen::internal::sparse_matrix_block_impl< SparseMatrixType, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::internal::sparse_matrix_block_impl< const SparseMatrix< _Scalar, _Options, _StorageIndex >, BlockRows, BlockCols >, Eigen::SparseMapBase< Derived, WriteAccessors >, Eigen::SparseMatrix< _Scalar, _Options, _Index >, Eigen::SparseMatrix< Scalar >, Eigen::SparseMatrix< Scalar, ColMajor, StorageIndex >, Eigen::SparseMatrix< Scalar, ColMajor, int >, Eigen::SparseMatrix< Scalar, RowMajor, StorageIndex >, Eigen::SparseVector< _Scalar, _Options, _StorageIndex >, and Eigen::internal::SparseTransposeImpl< MatrixType, CompressedAccessBit >.
Definition at line 75 of file SparseCompressedBase.h.
{ return derived().valuePtr(); }