COMBINATORIAL_BLAS  1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Friends
SpMat< IT, NT, DER > Class Template Reference

#include <SpMat.h>

List of all members.

Public Member Functions

void Create (const vector< IT > &essentials)
void Create (IT size, IT nRow, IT nCol, tuple< IT, IT, NT > *mytuples)
SpMat< IT, NT, DER > operator() (const vector< IT > &ri, const vector< IT > &ci) const
template<typename SR >
void SpGEMM (SpMat< IT, NT, DER > &A, SpMat< IT, NT, DER > &B, bool isAT, bool isBT)
void Split (SpMat< IT, NT, DER > &partA, SpMat< IT, NT, DER > &partB)
void Merge (SpMat< IT, NT, DER > &partA, SpMat< IT, NT, DER > &partB)
Arr< IT, NT > GetArrays () const
vector< IT > GetEssentials () const
void Transpose ()
bool operator== (const SpMat< IT, NT, DER > &rhs) const
ofstream & put (ofstream &outfile) const
ifstream & get (ifstream &infile)
bool isZero () const
IT getnrow () const
IT getncol () const
IT getnnz () const

Friends

template<typename UIT , typename UNT , typename UDER >
ofstream & operator<< (ofstream &outfile, const SpMat< UIT, UNT, UDER > &s)
template<typename UIT , typename UNT , typename UDER >
ifstream & operator>> (ifstream &infile, SpMat< UIT, UNT, UDER > &s)
template<class SR , class NUO , class IU , class NU1 , class NU2 , class DER1 , class DER2 >
SpTuples< IU, NUO > * MultiplyReturnTuples (const SpMat< IU, NU1, DER1 > &A, const SpMat< IU, NU2, DER2 > &B, bool isAT, bool isBT, bool clearA, bool clearB)

Detailed Description

template<class IT, class NT, class DER>
class SpMat< IT, NT, DER >

The abstract base class for all derived sequential sparse matrix classes Contains no data members, hence no copy constructor/assignment operator Uses static polymorphism through curiously recurring templates (CRTP) Template parameters: IT (index type), NT (numerical type), DER (derived class type)

Definition at line 53 of file SpMat.h.


Member Function Documentation

template<class IT, class NT, class DER>
void SpMat< IT, NT, DER >::Create ( const vector< IT > &  essentials)
inline

Standard destructor, copy ctor and assignment are generated by compiler, they all do nothing ! Default constructor also exists, and does nothing more than creating Base<Derived>() and Derived() objects One has to call one of the overloaded create functions to get an nonempty object

Definition at line 59 of file SpMat.h.

template<class IT, class NT, class DER>
void SpMat< IT, NT, DER >::Create ( IT  size,
IT  nRow,
IT  nCol,
tuple< IT, IT, NT > *  mytuples 
)
inline

Definition at line 64 of file SpMat.h.

template<class IT , class NT , class DER >
ifstream & SpMat< IT, NT, DER >::get ( ifstream &  infile)
inline

Reimplemented in SpDCCols< IT, NT >.

Definition at line 167 of file SpMat.cpp.

template<class IT, class NT, class DER>
Arr<IT,NT> SpMat< IT, NT, DER >::GetArrays ( ) const
inline

Reimplemented in SpDCCols< IT, NT >.

Definition at line 80 of file SpMat.h.

template<class IT, class NT, class DER>
vector<IT> SpMat< IT, NT, DER >::GetEssentials ( ) const
inline

Reimplemented in SpDCCols< IT, NT >.

Definition at line 84 of file SpMat.h.

template<class IT, class NT, class DER>
IT SpMat< IT, NT, DER >::getncol ( ) const
inline

Reimplemented in SpDCCols< IT, NT >, and SpTuples< IT, NT >.

Definition at line 101 of file SpMat.h.

template<class IT, class NT, class DER>
IT SpMat< IT, NT, DER >::getnnz ( ) const
inline

Reimplemented in SpDCCols< IT, NT >, and SpTuples< IT, NT >.

Definition at line 102 of file SpMat.h.

template<class IT, class NT, class DER>
IT SpMat< IT, NT, DER >::getnrow ( ) const
inline

Reimplemented in SpDCCols< IT, NT >, and SpTuples< IT, NT >.

Definition at line 100 of file SpMat.h.

template<class IT, class NT, class DER>
bool SpMat< IT, NT, DER >::isZero ( ) const
inline

Reimplemented in SpDCCols< IT, NT >, and SpTuples< IT, NT >.

Definition at line 99 of file SpMat.h.

template<class IT, class NT, class DER>
void SpMat< IT, NT, DER >::Merge ( SpMat< IT, NT, DER > &  partA,
SpMat< IT, NT, DER > &  partB 
)

Definition at line 36 of file SpMat.cpp.

template<class IT, class NT , class DER >
SpMat< IT, NT, DER > SpMat< IT, NT, DER >::operator() ( const vector< IT > &  ri,
const vector< IT > &  ci 
) const

Reimplemented in SpDCCols< IT, NT >.

Definition at line 7 of file SpMat.cpp.

template<class IT, class NT, class DER>
bool SpMat< IT, NT, DER >::operator== ( const SpMat< IT, NT, DER > &  rhs) const

Definition at line 24 of file SpMat.cpp.

template<class IT , class NT , class DER >
ofstream & SpMat< IT, NT, DER >::put ( ofstream &  outfile) const
inline

Reimplemented in SpDCCols< IT, NT >.

Definition at line 161 of file SpMat.cpp.

template<class IT, class NT, class DER>
template<typename SR >
void SpMat< IT, NT, DER >::SpGEMM ( SpMat< IT, NT, DER > &  A,
SpMat< IT, NT, DER > &  B,
bool  isAT,
bool  isBT 
)

Definition at line 44 of file SpMat.cpp.

template<class IT, class NT, class DER>
void SpMat< IT, NT, DER >::Split ( SpMat< IT, NT, DER > &  partA,
SpMat< IT, NT, DER > &  partB 
)

Definition at line 30 of file SpMat.cpp.

template<class IT, class NT, class DER>
void SpMat< IT, NT, DER >::Transpose ( )
inline

Reimplemented in SpDCCols< IT, NT >.

Definition at line 89 of file SpMat.h.


Friends And Related Function Documentation

template<class IT, class NT, class DER>
template<class SR , class NUO , class IU , class NU1 , class NU2 , class DER1 , class DER2 >
SpTuples< IU, NUO >* MultiplyReturnTuples ( const SpMat< IU, NU1, DER1 > &  A,
const SpMat< IU, NU2, DER2 > &  B,
bool  isAT,
bool  isBT,
bool  clearA = false,
bool  clearB = false 
)
friend

Returns a pointer to SpTuples, in order to avoid temporaries It is the caller's responsibility to delete the returned pointer afterwards

Definition at line 105 of file SpMat.cpp.

template<class IT, class NT, class DER>
template<typename UIT , typename UNT , typename UDER >
ofstream& operator<< ( ofstream &  outfile,
const SpMat< UIT, UNT, UDER > &  s 
)
friend

Definition at line 175 of file SpMat.cpp.

template<class IT, class NT, class DER>
template<typename UIT , typename UNT , typename UDER >
ifstream& operator>> ( ifstream &  infile,
SpMat< UIT, UNT, UDER > &  s 
)
friend

Definition at line 181 of file SpMat.cpp.


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