#include <SpCCols.h>
Classes | |
class | SpColIter |
Iterate over (sparse) columns of the sparse matrix. More... | |
Public Types | |
typedef IT | LocalIT |
typedef NT | LocalNT |
Public Member Functions | |
SpCCols () | |
SpCCols (IT size, IT nRow, IT nCol) | |
SpCCols (const SpTuples< IT, NT > &rhs, bool transpose) | |
SpCCols (const SpDCCols< IT, NT > &rhs) | |
SpCCols (const SpCCols< IT, NT > &rhs) | |
~SpCCols () | |
SpCCols< IT, NT > & | operator= (const SpCCols< IT, NT > &rhs) |
SpCCols< IT, NT > & | operator+= (const SpCCols< IT, NT > &rhs) |
void | RowSplit (int numsplits) |
void | ColSplit (int parts, std::vector< SpCCols< IT, NT > > &matrices) |
void | CreateImpl (const std::vector< IT > &essentials) |
void | CreateImpl (IT size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples) |
Arr< IT, NT > | GetArrays () const |
std::vector< IT > | GetEssentials () const |
IT | getnrow () const |
IT | getncol () const |
IT | getnnz () const |
int | getnsplit () const |
auto | GetInternal () const |
auto | GetInternal (int i) const |
SpColIter | begcol () |
SpColIter | endcol () |
SpColIter | begcol (int i) |
SpColIter | endcol (int i) |
SpColIter::NzIter | begnz (const SpColIter &ccol) |
SpColIter::NzIter | endnz (const SpColIter &ccol) |
SpColIter::NzIter | begnz (const SpColIter &ccol, int i) |
SpColIter::NzIter | endnz (const SpColIter &ccol, int i) |
void | PrintInfo () const |
![]() | |
void | Create (const std::vector< IT > &essentials) |
void | Create (IT size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples) |
SpMat< IT, NT, SpCCols< IT, NT > > | operator() (const std::vector< IT > &ri, const std::vector< IT > &ci) const |
void | SpGEMM (SpMat< IT, NT, SpCCols< IT, NT > > &A, SpMat< IT, NT, SpCCols< IT, NT > > &B, bool isAT, bool isBT) |
void | Split (SpMat< IT, NT, SpCCols< IT, NT > > &partA, SpMat< IT, NT, SpCCols< IT, NT > > &partB) |
void | Merge (SpMat< IT, NT, SpCCols< IT, NT > > &partA, SpMat< IT, NT, SpCCols< IT, NT > > &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 | begcol (int i) |
auto | endcol () |
auto | endcol (int i) |
auto | begnz (const typename X::SpColIter &ccol) |
auto | begnz (const typename X::SpColIter &ccol, int i) |
auto | endnz (const typename X::SpColIter &ccol) |
auto | endnz (const typename X::SpColIter &ccol, int i) |
bool | operator== (const SpMat< IT, NT, SpCCols< IT, NT > > &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 |
Static Public Attributes | |
static const IT | esscount = static_cast<IT>(3) |
Friends | |
template<typename SR , typename IU , typename NU , typename RHS , typename LHS > | |
void | csc_gespmv_dense (const SpCCols< IU, NU > &A, const RHS *x, LHS *y) |
dense vector (not implemented) More... | |
template<typename SR , typename IU , typename NUM , typename DER , typename IVT , typename OVT > | |
int | generic_gespmv_threaded (const SpMat< IU, NUM, DER > &A, const int32_t *indx, const IVT *numx, int32_t nnzx, int32_t *&sendindbuf, OVT *&sendnumbuf, int *&sdispls, int p_c, PreAllocatedSPA< OVT > &SPA) |
typedef IT combblas::SpCCols< IT, NT >::LocalIT |
typedef NT combblas::SpCCols< IT, NT >::LocalNT |
combblas::SpCCols< IT, NT >::SpCCols | ( | ) |
Definition at line 50 of file SpCCols.cpp.
combblas::SpCCols< IT, NT >::SpCCols | ( | IT | size, |
IT | nRow, | ||
IT | nCol | ||
) |
Definition at line 55 of file SpCCols.cpp.
combblas::SpCCols< IT, NT >::SpCCols | ( | const SpTuples< IT, NT > & | rhs, |
bool | transpose | ||
) |
|
inline |
combblas::SpCCols< IT, NT >::SpCCols | ( | const SpCCols< IT, NT > & | rhs | ) |
Definition at line 88 of file SpCCols.cpp.
combblas::SpCCols< IT, NT >::~SpCCols | ( | ) |
Definition at line 65 of file SpCCols.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
void combblas::SpCCols< IT, NT >::ColSplit | ( | int | parts, |
std::vector< SpCCols< IT, NT > > & | matrices | ||
) |
void combblas::SpCCols< IT, NT >::CreateImpl | ( | const std::vector< IT > & | essentials | ) |
void combblas::SpCCols< IT, NT >::CreateImpl | ( | IT | size, |
IT | nRow, | ||
IT | nCol, | ||
std::tuple< IT, IT, NT > * | mytuples | ||
) |
|
inline |
|
inline |
|
inline |
|
inline |
Arr<IT,NT> combblas::SpCCols< IT, NT >::GetArrays | ( | ) | const |
std::vector<IT> combblas::SpCCols< IT, NT >::GetEssentials | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
SpCCols<IT,NT>& combblas::SpCCols< IT, NT >::operator+= | ( | const SpCCols< IT, NT > & | rhs | ) |
SpCCols< IT, NT > & combblas::SpCCols< IT, NT >::operator= | ( | const SpCCols< IT, NT > & | rhs | ) |
The assignment operator operates on an existing object The assignment operator is the only operator that is not inherited. But there is no need to call base's assigment operator as it has no data members
Definition at line 206 of file SpCCols.cpp.
void combblas::SpCCols< IT, NT >::PrintInfo | ( | ) | const |
Definition at line 291 of file SpCCols.cpp.
void combblas::SpCCols< IT, NT >::RowSplit | ( | int | numsplits | ) |
Definition at line 236 of file SpCCols.cpp.
|
friend |
dense vector (not implemented)
|
friend |
Csc<IT, NT>* combblas::SpCCols< IT, NT >::csc |
Csc<IT, NT>** combblas::SpCCols< IT, NT >::cscarr |
|
static |