gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
linearSystemCSR< scalar > Class Template Reference

#include <linearSystemCSR.h>

Inheritance diagram for linearSystemCSR< scalar >:
Collaboration diagram for linearSystemCSR< scalar >:

Public Member Functions

int getNNZ ()
 
int getNbUnk ()
 
 linearSystemCSR ()
 
virtual bool isAllocated () const
 
virtual void allocate (int)
 
virtual void clear ()
 
virtual ~linearSystemCSR ()
 
virtual void insertInSparsityPattern (int i, int j)
 
virtual void preAllocateEntries ()
 
virtual void addToMatrix (int il, int ic, const scalar &val)
 
virtual void getMatrix (INDEX_TYPE *&jptr, INDEX_TYPE *&ai, double *&a)
 
virtual void getFromMatrix (int row, int col, scalar &val) const
 
virtual void addToRightHandSide (int row, const scalar &val, int ith=0)
 
virtual void addToSolution (int row, const scalar &val)
 
virtual void getFromRightHandSide (int row, scalar &val) const
 
virtual void getFromSolution (int row, scalar &val) const
 
virtual void zeroMatrix ()
 
virtual void zeroRightHandSide ()
 
virtual void zeroSolution ()
 
virtual double normInfRightHandSide () const
 
void preAllocateEntries ()
 
void preAllocateEntries ()
 
void allocate (int nbRows)
 
void allocate (int nbRows)
 
void getMatrix (INDEX_TYPE *&jptr, INDEX_TYPE *&ai, double *&a)
 
void getMatrix (INDEX_TYPE *&jptr, INDEX_TYPE *&ai, double *&a)
 
- Public Member Functions inherited from linearSystem< scalar >
 linearSystem ()
 
virtual ~linearSystem ()
 
- Public Member Functions inherited from linearSystemBase
virtual ~linearSystemBase ()
 
virtual int systemSolve ()=0
 
virtual int matMult ()
 
void setParameter (const std::string &key, std::string value)
 
std::string getParameter (const std::string &key) const
 
virtual double normInfSolution () const
 

Protected Attributes

bool sorted
 
bool _entriesPreAllocated
 
char * something
 
CSRList_T_a
 
CSRList_T_ai
 
CSRList_T_ptr
 
CSRList_T_jptr
 
std::vector< scalar > * _b
 
std::vector< scalar > * _x
 
sparsityPattern _sparsity
 
- Protected Attributes inherited from linearSystemBase
std::map< std::string, std::string > _parameters
 

Detailed Description

template<class scalar>
class linearSystemCSR< scalar >

Definition at line 29 of file linearSystemCSR.h.

Constructor & Destructor Documentation

◆ linearSystemCSR()

template<class scalar >
linearSystemCSR< scalar >::linearSystemCSR ( )
inline

Definition at line 41 of file linearSystemCSR.h.

◆ ~linearSystemCSR()

template<class scalar >
virtual linearSystemCSR< scalar >::~linearSystemCSR ( )
inlinevirtual

Definition at line 48 of file linearSystemCSR.h.

Here is the call graph for this function:

Member Function Documentation

◆ addToMatrix()

template<class scalar >
virtual void linearSystemCSR< scalar >::addToMatrix ( int  il,
int  ic,
const scalar &  val 
)
inlinevirtual

Implements linearSystem< scalar >.

Definition at line 54 of file linearSystemCSR.h.

Here is the call graph for this function:

◆ addToRightHandSide()

template<class scalar >
virtual void linearSystemCSR< scalar >::addToRightHandSide ( int  row,
const scalar &  val,
int  ith = 0 
)
inlinevirtual

Implements linearSystem< scalar >.

Definition at line 125 of file linearSystemCSR.h.

◆ addToSolution()

template<class scalar >
virtual void linearSystemCSR< scalar >::addToSolution ( int  row,
const scalar &  val 
)
inlinevirtual

Implements linearSystem< scalar >.

Definition at line 130 of file linearSystemCSR.h.

◆ allocate() [1/3]

void linearSystemCSR< double >::allocate ( int  nbRows)
virtual

Implements linearSystemBase.

Definition at line 178 of file linearSystemCSR.cpp.

Here is the call graph for this function:

◆ allocate() [2/3]

void linearSystemCSR< std::complex< double > >::allocate ( int  nbRows)
virtual

Implements linearSystemBase.

Definition at line 215 of file linearSystemCSR.cpp.

Here is the call graph for this function:

◆ allocate() [3/3]

template<class scalar >
virtual void linearSystemCSR< scalar >::allocate ( int  )
virtual

Implements linearSystemBase.

Referenced by linearSystemCSR< scalar >::clear(), and linearSystemCSR< scalar >::~linearSystemCSR().

Here is the caller graph for this function:

◆ clear()

template<class scalar >
virtual void linearSystemCSR< scalar >::clear ( )
inlinevirtual

Implements linearSystemBase.

Definition at line 47 of file linearSystemCSR.h.

Here is the call graph for this function:

◆ getFromMatrix()

template<class scalar >
virtual void linearSystemCSR< scalar >::getFromMatrix ( int  row,
int  col,
scalar &  val 
) const
inlinevirtual

Implements linearSystem< scalar >.

Definition at line 121 of file linearSystemCSR.h.

Here is the call graph for this function:

◆ getFromRightHandSide()

template<class scalar >
virtual void linearSystemCSR< scalar >::getFromRightHandSide ( int  row,
scalar &  val 
) const
inlinevirtual

Implements linearSystem< scalar >.

Definition at line 135 of file linearSystemCSR.h.

◆ getFromSolution()

template<class scalar >
virtual void linearSystemCSR< scalar >::getFromSolution ( int  row,
scalar &  val 
) const
inlinevirtual

Implements linearSystem< scalar >.

Definition at line 140 of file linearSystemCSR.h.

◆ getMatrix() [1/3]

template<class scalar >
virtual void linearSystemCSR< scalar >::getMatrix ( INDEX_TYPE *&  jptr,
INDEX_TYPE *&  ai,
double *&  a 
)
virtual

◆ getMatrix() [2/3]

void linearSystemCSR< double >::getMatrix ( INDEX_TYPE *&  jptr,
INDEX_TYPE *&  ai,
double *&  a 
)

Definition at line 411 of file linearSystemCSR.cpp.

Here is the call graph for this function:

◆ getMatrix() [3/3]

void linearSystemCSR< std::complex< double > >::getMatrix ( INDEX_TYPE *&  jptr,
INDEX_TYPE *&  ai,
double *&  a 
)

Definition at line 424 of file linearSystemCSR.cpp.

Here is the call graph for this function:

◆ getNbUnk()

template<class scalar >
int linearSystemCSR< scalar >::getNbUnk ( )
inline

Definition at line 40 of file linearSystemCSR.h.

◆ getNNZ()

template<class scalar >
int linearSystemCSR< scalar >::getNNZ ( )
inline

Definition at line 39 of file linearSystemCSR.h.

Here is the call graph for this function:

◆ insertInSparsityPattern()

template<class scalar >
virtual void linearSystemCSR< scalar >::insertInSparsityPattern ( int  i,
int  j 
)
inlinevirtual

Reimplemented from linearSystemBase.

Definition at line 49 of file linearSystemCSR.h.

Here is the call graph for this function:

◆ isAllocated()

template<class scalar >
virtual bool linearSystemCSR< scalar >::isAllocated ( ) const
inlinevirtual

Implements linearSystemBase.

Definition at line 45 of file linearSystemCSR.h.

◆ normInfRightHandSide()

template<class scalar >
virtual double linearSystemCSR< scalar >::normInfRightHandSide ( ) const
inlinevirtual

Implements linearSystemBase.

Definition at line 162 of file linearSystemCSR.h.

◆ preAllocateEntries() [1/3]

template<class scalar >
virtual void linearSystemCSR< scalar >::preAllocateEntries ( )
virtual

Reimplemented from linearSystemBase.

Referenced by linearSystemCSR< scalar >::addToMatrix().

Here is the caller graph for this function:

◆ preAllocateEntries() [2/3]

void linearSystemCSR< double >::preAllocateEntries ( )
virtual

Reimplemented from linearSystemBase.

Definition at line 96 of file linearSystemCSR.cpp.

Here is the call graph for this function:

◆ preAllocateEntries() [3/3]

void linearSystemCSR< std::complex< double > >::preAllocateEntries ( )
virtual

Reimplemented from linearSystemBase.

Definition at line 137 of file linearSystemCSR.cpp.

Here is the call graph for this function:

◆ zeroMatrix()

template<class scalar >
virtual void linearSystemCSR< scalar >::zeroMatrix ( )
inlinevirtual

Implements linearSystemBase.

Definition at line 145 of file linearSystemCSR.h.

Here is the call graph for this function:

◆ zeroRightHandSide()

template<class scalar >
virtual void linearSystemCSR< scalar >::zeroRightHandSide ( )
inlinevirtual

Implements linearSystemBase.

Definition at line 152 of file linearSystemCSR.h.

◆ zeroSolution()

template<class scalar >
virtual void linearSystemCSR< scalar >::zeroSolution ( )
inlinevirtual

Implements linearSystemBase.

Definition at line 157 of file linearSystemCSR.h.

Member Data Documentation

◆ _a

◆ _ai

template<class scalar >
CSRList_T * linearSystemCSR< scalar >::_ai
protected

Definition at line 34 of file linearSystemCSR.h.

Referenced by linearSystemCSR< scalar >::addToMatrix().

◆ _b

◆ _entriesPreAllocated

template<class scalar >
bool linearSystemCSR< scalar >::_entriesPreAllocated
protected

Definition at line 32 of file linearSystemCSR.h.

Referenced by linearSystemCSR< scalar >::addToMatrix().

◆ _jptr

template<class scalar >
CSRList_T * linearSystemCSR< scalar >::_jptr
protected

Definition at line 34 of file linearSystemCSR.h.

Referenced by linearSystemCSR< scalar >::addToMatrix().

◆ _ptr

template<class scalar >
CSRList_T * linearSystemCSR< scalar >::_ptr
protected

Definition at line 34 of file linearSystemCSR.h.

Referenced by linearSystemCSR< scalar >::addToMatrix().

◆ _sparsity

template<class scalar >
sparsityPattern linearSystemCSR< scalar >::_sparsity
protected

◆ _x

template<class scalar >
std::vector<scalar> * linearSystemCSR< scalar >::_x
protected

◆ something

template<class scalar >
char* linearSystemCSR< scalar >::something
protected

Definition at line 33 of file linearSystemCSR.h.

Referenced by linearSystemCSR< scalar >::addToMatrix().

◆ sorted

template<class scalar >
bool linearSystemCSR< scalar >::sorted
protected

Definition at line 31 of file linearSystemCSR.h.

Referenced by linearSystemCSR< scalar >::addToMatrix().


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