Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator Class Reference

InnerIterator class to iterate over nonzero values of the current column in the supernodal matrix L. More...

#include <SparseLU_SupernodalMatrix.h>

Public Member Functions

 InnerIterator (const MappedSuperNodalMatrix &mat, Index outer)
 
InnerIteratoroperator++ ()
 
Scalar value () const
 
ScalarvalueRef ()
 
Index index () const
 
Index row () const
 
Index col () const
 
Index supIndex () const
 
 operator bool () const
 

Protected Attributes

const MappedSuperNodalMatrixm_matrix
 
const Index m_outer
 
const Index m_supno
 
Index m_idval
 
const Index m_startidval
 
const Index m_endidval
 
Index m_idrow
 
Index m_endidrow
 

Detailed Description

template<typename Scalar_, typename StorageIndex_>
class Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator

InnerIterator class to iterate over nonzero values of the current column in the supernodal matrix L.

Constructor & Destructor Documentation

◆ InnerIterator()

template<typename Scalar_ , typename StorageIndex_ >
Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::InnerIterator ( const MappedSuperNodalMatrix mat,
Index  outer 
)
inline
155  : m_matrix(mat),
156  m_outer(outer),
157  m_supno(mat.colToSup()[outer]),
158  m_idval(mat.colIndexPtr()[outer]),
160  m_endidval(mat.colIndexPtr()[outer + 1]),
161  m_idrow(mat.rowIndexPtr()[mat.supToCol()[mat.colToSup()[outer]]]),
162  m_endidrow(mat.rowIndexPtr()[mat.supToCol()[mat.colToSup()[outer]] + 1]) {}
const MappedSuperNodalMatrix & m_matrix
Definition: SparseLU_SupernodalMatrix.h:183
Index m_idrow
Definition: SparseLU_SupernodalMatrix.h:189
const Index m_outer
Definition: SparseLU_SupernodalMatrix.h:184
Index m_idval
Definition: SparseLU_SupernodalMatrix.h:186
Index m_endidrow
Definition: SparseLU_SupernodalMatrix.h:190
const Index m_startidval
Definition: SparseLU_SupernodalMatrix.h:187
const Index m_supno
Definition: SparseLU_SupernodalMatrix.h:185
const Index m_endidval
Definition: SparseLU_SupernodalMatrix.h:188

Member Function Documentation

◆ col()

template<typename Scalar_ , typename StorageIndex_ >
Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::col ( ) const
inline
174 { return m_outer; }

◆ index()

template<typename Scalar_ , typename StorageIndex_ >
Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::index ( ) const
inline
172 { return m_matrix.rowIndex()[m_idrow]; }
StorageIndex * rowIndex()
Definition: SparseLU_SupernodalMatrix.h:98

◆ operator bool()

template<typename Scalar_ , typename StorageIndex_ >
Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::operator bool ( ) const
inline
178  {
179  return ((m_idval < m_endidval) && (m_idval >= m_startidval) && (m_idrow < m_endidrow));
180  }

◆ operator++()

template<typename Scalar_ , typename StorageIndex_ >
InnerIterator& Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::operator++ ( )
inline
163  {
164  m_idval++;
165  m_idrow++;
166  return *this;
167  }

◆ row()

template<typename Scalar_ , typename StorageIndex_ >
Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::row ( ) const
inline

◆ supIndex()

template<typename Scalar_ , typename StorageIndex_ >
Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::supIndex ( ) const
inline
176 { return m_supno; }

◆ value()

template<typename Scalar_ , typename StorageIndex_ >
Scalar Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::value ( ) const
inline

◆ valueRef()

template<typename Scalar_ , typename StorageIndex_ >
Scalar& Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::valueRef ( )
inline
170 { return const_cast<Scalar&>(m_matrix.valuePtr()[m_idval]); }
SCALAR Scalar
Definition: bench_gemm.cpp:45

Member Data Documentation

◆ m_endidrow

template<typename Scalar_ , typename StorageIndex_ >
Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::m_endidrow
protected

◆ m_endidval

template<typename Scalar_ , typename StorageIndex_ >
const Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::m_endidval
protected

◆ m_idrow

template<typename Scalar_ , typename StorageIndex_ >
Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::m_idrow
protected

◆ m_idval

template<typename Scalar_ , typename StorageIndex_ >
Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::m_idval
protected

◆ m_matrix

template<typename Scalar_ , typename StorageIndex_ >
const MappedSuperNodalMatrix& Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::m_matrix
protected

◆ m_outer

template<typename Scalar_ , typename StorageIndex_ >
const Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::m_outer
protected

◆ m_startidval

template<typename Scalar_ , typename StorageIndex_ >
const Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::m_startidval
protected

◆ m_supno

template<typename Scalar_ , typename StorageIndex_ >
const Index Eigen::internal::MappedSuperNodalMatrix< Scalar_, StorageIndex_ >::InnerIterator::m_supno
protected

The documentation for this class was generated from the following file: