|
void | Create (const std::vector< IT > &essentials) |
|
void | Create (IT size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples) |
|
SpMat< IT, NT, DER > | operator() (const std::vector< IT > &ri, const std::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 |
|
std::vector< IT > | GetEssentials () const |
|
auto | GetInternal () const |
|
auto | GetInternal (int i) const |
|
int | getnsplit () const |
|
void | Transpose () |
|
auto | begcol () |
|
auto | endcol () |
|
auto | begcol (int i) |
|
auto | endcol (int i) |
|
template<typename X = DER> |
auto | begnz (const typename X::SpColIter &ccol) |
|
template<typename X = DER> |
auto | endnz (const typename X::SpColIter &ccol) |
|
template<typename X = DER> |
auto | begnz (const typename X::SpColIter &ccol, int i) |
|
template<typename X = DER> |
auto | endnz (const typename X::SpColIter &ccol, int i) |
|
bool | operator== (const SpMat< IT, NT, DER > &rhs) const |
|
std::ofstream & | put (std::ofstream &outfile) const |
|
std::ifstream & | get (std::ifstream &infile) |
|
bool | isZero () const |
|
IT | getnrow () const |
|
IT | getncol () const |
|
IT | getnnz () const |
|
|
template<typename UIT , typename UNT , typename UDER > |
std::ofstream & | operator<< (std::ofstream &outfile, const SpMat< UIT, UNT, UDER > &s) |
|
template<typename UIT , typename UNT , typename UDER > |
std::ifstream & | operator>> (std::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) |
|
template<class IT, class NT, class DER>
class combblas::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 55 of file SpMat.h.
template<class IT, class NT, class DER>
void combblas::SpMat< IT, NT, DER >::Create |
( |
const std::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 61 of file SpMat.h.
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 135 of file SpMat.cpp.