ergo
mat::MatrixHierarchicBase< Treal, Telement > Class Template Reference

Base class for Matrix and Matrix specialization. More...

#include <MatrixHierarchicBase.h>

Inheritance diagram for mat::MatrixHierarchicBase< Treal, Telement >:
mat::Matrix< Treal, Telement > mat::Matrix< Treal >

Public Member Functions

bool operator== (int k) const
 
const int & nScalarsRows () const
 
const int & nScalarsCols () const
 
const int & nrows () const
 
const int & ncols () const
 
Telement & operator ()(int row
 
 assert (row >=0)
 
 assert (col >=0)
 
 assert (row< nrows())
 
 assert (col< ncols())
 
const Telement & operator ()(int row
 
 assert (row >=0)
 
 assert (col >=0)
 
 assert (row< nrows())
 
 assert (col< ncols())
 
Telement & operator[] (int index)
 
Telement constoperator[] (int index) const
 
bool is_zero () const
 
int nElements () const
 
void resetRows (SizesAndBlocks const &newRows)
 
void resetCols (SizesAndBlocks const &newCols)
 
void getRows (SizesAndBlocks &rowsCopy) const
 
void getCols (SizesAndBlocks &colsCopy) const
 
bool highestLevel () const
 
bool is_empty () const
 Check if matrix is empty Empty is different from zero, a zero matrix contains information about blocksizes etc. More...
 

Public Attributes

Telement int col
 
return elements [row+col *nrows()]
 
const Telement int col const
 

Protected Member Functions

 MatrixHierarchicBase ()
 
 MatrixHierarchicBase (SizesAndBlocks const &rowsInp, SizesAndBlocks const &colsInp)
 
 MatrixHierarchicBase (const MatrixHierarchicBase< Treal, Telement > &mat)
 
MatrixHierarchicBase< Treal, Telement > & operator= (const MatrixHierarchicBase< Treal, Telement > &mat)
 
virtual ~MatrixHierarchicBase ()
 

Static Protected Member Functions

static void swap (MatrixHierarchicBase< Treal, Telement > &A, MatrixHierarchicBase< Treal, Telement > &B)
 

Protected Attributes

SizesAndBlocks rows
 
SizesAndBlocks cols
 
Telement * elements
 

Detailed Description

template<class Treal, class Telement = Treal>
class mat::MatrixHierarchicBase< Treal, Telement >

Base class for Matrix and Matrix specialization.

See also
Matrix
Permutation

Constructor & Destructor Documentation

◆ MatrixHierarchicBase() [1/3]

template<class Treal , class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::MatrixHierarchicBase ( )
inlineprotected

◆ MatrixHierarchicBase() [2/3]

template<class Treal , class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::MatrixHierarchicBase ( SizesAndBlocks const rowsInp,
SizesAndBlocks const colsInp 
)
inlineprotected

◆ MatrixHierarchicBase() [3/3]

template<class Treal , class Telement >
mat::MatrixHierarchicBase< Treal, Telement >::MatrixHierarchicBase ( const MatrixHierarchicBase< Treal, Telement > &  mat)
protected

◆ ~MatrixHierarchicBase()

template<class Treal , class Telement >
mat::MatrixHierarchicBase< Treal, Telement >::~MatrixHierarchicBase
protectedvirtual

References mat::freeElements().

Member Function Documentation

◆ assert() [1/8]

template<class Treal , class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( col >=  0)

◆ assert() [2/8]

template<class Treal , class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( col >=  0)

◆ assert() [3/8]

template<class Treal , class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( )

◆ assert() [4/8]

template<class Treal , class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( )

◆ assert() [5/8]

template<class Treal , class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( row >=  0)

◆ assert() [6/8]

template<class Treal , class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( row >=  0)

◆ assert() [7/8]

◆ assert() [8/8]

template<class Treal , class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( )

◆ getCols()

template<class Treal , class Telement = Treal>
void mat::MatrixHierarchicBase< Treal, Telement >::getCols ( SizesAndBlocks colsCopy) const
inline

◆ getRows()

template<class Treal , class Telement = Treal>
void mat::MatrixHierarchicBase< Treal, Telement >::getRows ( SizesAndBlocks rowsCopy) const
inline

◆ highestLevel()

◆ is_empty()

◆ is_zero()

template<class Treal , class Telement = Treal>
bool mat::MatrixHierarchicBase< Treal, Telement >::is_zero ( ) const
inline

References mat::MatrixHierarchicBase< Treal, Telement >::elements.

Referenced by mat::Matrix< Treal, Telement >::allocate(), mat::Matrix< Treal >::allocate(), mat::Matrix< Treal >::assignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::assignFrobNormsLowestLevel(), mat::Matrix< Treal >::frobThreshElementLevel(), mat::Matrix< Treal, Telement >::frobThreshElementLevel(), mat::Matrix< Treal >::frobThreshLowestLevel(), mat::Matrix< Treal, Telement >::frobThreshLowestLevel(), mat::Matrix< Treal, Telement >::geAccumulateWith(), mat::Matrix< Treal >::geAccumulateWith(), mat::Matrix< Treal >::gemm(), mat::Matrix< Treal, Telement >::gemm(), mat::Matrix< Treal, Telement >::gemm_upper_tr_only(), mat::Matrix< Treal, Telement >::maxAbsValue(), mat::Matrix< Treal >::maxAbsValue(), mat::Matrix< Treal >::memory_usage(), mat::Matrix< Treal >::nnz(), mat::MatrixHierarchicBase< Treal, Telement >::operator==(), mat::Matrix< Treal, Telement >::ssmm(), mat::Matrix< Treal, Telement >::ssmm_upper_tr_only(), mat::Matrix< Treal >::sy_nnz(), mat::Matrix< Treal >::sy_nvalues(), mat::Matrix< Treal, Telement >::syAccumulateWith(), mat::Matrix< Treal >::syAccumulateWith(), mat::Matrix< Treal >::syAssignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::syAssignFrobNormsLowestLevel(), mat::Matrix< Treal >::symm(), mat::Matrix< Treal, Telement >::symm(), mat::Matrix< Treal >::syrk(), mat::Matrix< Treal, Telement >::syrk(), mat::Matrix< Treal, Telement >::sysq(), mat::Matrix< Treal, Telement >::sytr_upper_tr_only(), mat::Matrix< Treal >::transpose(), mat::Matrix< Treal, Telement >::transpose(), and mat::Matrix< Treal >::truncateAccordingToSparsityPattern().

◆ ncols()

◆ nElements()

◆ nrows()

◆ nScalarsCols()

template<class Treal , class Telement = Treal>
const int & mat::MatrixHierarchicBase< Treal, Telement >::nScalarsCols ( ) const
inline

◆ nScalarsRows()

template<class Treal , class Telement = Treal>
const int & mat::MatrixHierarchicBase< Treal, Telement >::nScalarsRows ( ) const
inline

◆ operator() [1/2]

template<class Treal , class Telement = Treal>
Telement & mat::MatrixHierarchicBase< Treal, Telement >::operator ( )
inline

◆ operator() [2/2]

template<class Treal , class Telement = Treal>
const Telement & mat::MatrixHierarchicBase< Treal, Telement >::operator ( )
inline

◆ operator=()

template<class Treal , class Telement >
MatrixHierarchicBase< Treal, Telement > & mat::MatrixHierarchicBase< Treal, Telement >::operator= ( const MatrixHierarchicBase< Treal, Telement > &  mat)
protected

◆ operator==()

template<class Treal , class Telement = Treal>
bool mat::MatrixHierarchicBase< Treal, Telement >::operator== ( int  k) const
inline

◆ operator[]() [1/2]

◆ operator[]() [2/2]

◆ resetCols()

◆ resetRows()

◆ swap()

template<class Treal , class Telement >
void mat::MatrixHierarchicBase< Treal, Telement >::swap ( MatrixHierarchicBase< Treal, Telement > &  A,
MatrixHierarchicBase< Treal, Telement > &  B 
)
staticprotected

Member Data Documentation

◆ col

◆ cols

◆ const

template<class Treal , class Telement = Treal>
const Telement int col mat::MatrixHierarchicBase< Treal, Telement >::const
Initial value:

◆ elements [1/2]

◆ elements [2/2]

template<class Treal , class Telement = Treal>
Telement* mat::MatrixHierarchicBase< Treal, Telement >::elements
protected

◆ rows


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