#include <SpMat.h>
Inherited by combblas::SpCCols< IT, float >, combblas::SpCCols< IT, double >, combblas::SpCCols< NIT, NNT >, combblas::SpCCols< IT, float >, combblas::SpCCols< IT, double >, combblas::SpCCols< NIT, NNT >, combblas::SpCCols< IT, float >, combblas::SpCCols< IT, double >, combblas::SpCCols< NIT, NNT >, combblas::SpDCCols< int64_t, NT >, combblas::SpDCCols< int, NT >, combblas::SpDCCols< int64_t, double >, combblas::SpDCCols< Int, Int >, combblas::SpDCCols< int64_t, ValueType >, combblas::SpDCCols< IT, float >, combblas::SpDCCols< IT, double >, combblas::SpDCCols< NIT, NNT >, combblas::SpDCCols< int64_t, NT >, combblas::SpDCCols< int, NT >, combblas::SpDCCols< int64_t, double >, combblas::SpDCCols< Int, Int >, combblas::SpDCCols< int64_t, ValueType >, combblas::SpDCCols< IT, float >, combblas::SpDCCols< IT, double >, combblas::SpDCCols< NIT, NNT >, combblas::SpDCCols< int64_t, NT >, combblas::SpDCCols< int, NT >, combblas::SpDCCols< int64_t, double >, combblas::SpDCCols< Int, Int >, combblas::SpDCCols< int64_t, ValueType >, combblas::SpDCCols< IT, float >, combblas::SpDCCols< IT, double >, combblas::SpDCCols< NIT, NNT >, combblas::SpTuples< int, int >, combblas::SpTuples< int, float >, combblas::SpTuples< int, double >, combblas::SpTuples< int, unsigned >, combblas::SpTuples< int64_t, int >, combblas::SpTuples< int64_t, float >, combblas::SpTuples< int64_t, double >, combblas::SpTuples< int64_t, int64_t >, combblas::SpTuples< int64_t, unsigned >, combblas::SpTuples< int, int >, combblas::SpTuples< int, float >, combblas::SpTuples< int, double >, combblas::SpTuples< int, unsigned >, combblas::SpTuples< int64_t, int >, combblas::SpTuples< int64_t, float >, combblas::SpTuples< int64_t, double >, combblas::SpTuples< int64_t, int64_t >, combblas::SpTuples< int64_t, unsigned >, combblas::SpTuples< int, int >, combblas::SpTuples< int, float >, combblas::SpTuples< int, double >, combblas::SpTuples< int, unsigned >, combblas::SpTuples< int64_t, int >, combblas::SpTuples< int64_t, float >, combblas::SpTuples< int64_t, double >, combblas::SpTuples< int64_t, int64_t >, and combblas::SpTuples< int64_t, unsigned >.
|
| 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 |
| 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 |
| 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=false, bool clearB=false) |
| 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=false, bool clearB=false) |
| 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=false, bool clearB=false) |
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.
◆ begcol() [1/6]
template<class
IT, class
NT, class DER>
◆ begcol() [2/6]
template<class
IT, class
NT, class DER>
◆ begcol() [3/6]
template<class
IT, class
NT, class DER>
◆ begcol() [4/6]
template<class
IT, class
NT, class DER>
◆ begcol() [5/6]
template<class
IT, class
NT, class DER>
◆ begcol() [6/6]
template<class
IT, class
NT, class DER>
◆ begnz() [1/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
| ccol | Return the beginning iterator for the nonzeros of the current column |
Definition at line 126 of file SpMat.h.
◆ begnz() [2/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
| ccol | Return the beginning iterator for the nonzeros of the current column |
Definition at line 126 of file SpMat.h.
◆ begnz() [3/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
| ccol | Return the beginning iterator for the nonzeros of the current column |
Definition at line 126 of file SpMat.h.
◆ begnz() [4/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
Definition at line 138 of file SpMat.h.
◆ begnz() [5/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
Definition at line 138 of file SpMat.h.
◆ begnz() [6/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
Definition at line 138 of file SpMat.h.
◆ Create() [1/6]
template<class
IT, class
NT, class DER>
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.
◆ Create() [2/6]
template<class
IT, class
NT, class DER>
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.
◆ Create() [3/6]
template<class
IT, class
NT, class DER>
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.
◆ Create() [4/6]
template<class
IT, class
NT, class DER>
◆ Create() [5/6]
template<class
IT, class
NT, class DER>
◆ Create() [6/6]
template<class
IT, class
NT, class DER>
◆ endcol() [1/6]
template<class
IT, class
NT, class DER>
◆ endcol() [2/6]
template<class
IT, class
NT, class DER>
◆ endcol() [3/6]
template<class
IT, class
NT, class DER>
◆ endcol() [4/6]
template<class
IT, class
NT, class DER>
◆ endcol() [5/6]
template<class
IT, class
NT, class DER>
◆ endcol() [6/6]
template<class
IT, class
NT, class DER>
◆ endnz() [1/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
| ccol | Return the ending iterator for the nonzeros of the current column |
Definition at line 132 of file SpMat.h.
◆ endnz() [2/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
| ccol | Return the ending iterator for the nonzeros of the current column |
Definition at line 132 of file SpMat.h.
◆ endnz() [3/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
| ccol | Return the ending iterator for the nonzeros of the current column |
Definition at line 132 of file SpMat.h.
◆ endnz() [4/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
Definition at line 144 of file SpMat.h.
◆ endnz() [5/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
Definition at line 144 of file SpMat.h.
◆ endnz() [6/6]
template<class
IT, class
NT, class DER>
template<typename X = DER>
- Parameters
-
Definition at line 144 of file SpMat.h.
◆ get() [1/3]
template<class
IT, class
NT, class DER>
◆ get() [2/3]
template<class
IT, class
NT, class DER>
◆ get() [3/3]
template<class
IT, class
NT, class DER>
◆ GetArrays() [1/3]
template<class
IT, class
NT, class DER>
◆ GetArrays() [2/3]
template<class
IT, class
NT, class DER>
◆ GetArrays() [3/3]
template<class
IT, class
NT, class DER>
◆ GetEssentials() [1/3]
template<class
IT, class
NT, class DER>
◆ GetEssentials() [2/3]
template<class
IT, class
NT, class DER>
◆ GetEssentials() [3/3]
template<class
IT, class
NT, class DER>
◆ GetInternal() [1/6]
template<class
IT, class
NT, class DER>
◆ GetInternal() [2/6]
template<class
IT, class
NT, class DER>
◆ GetInternal() [3/6]
template<class
IT, class
NT, class DER>
◆ GetInternal() [4/6]
template<class
IT, class
NT, class DER>
◆ GetInternal() [5/6]
template<class
IT, class
NT, class DER>
◆ GetInternal() [6/6]
template<class
IT, class
NT, class DER>
◆ getncol() [1/3]
template<class
IT, class
NT, class DER>
◆ getncol() [2/3]
template<class
IT, class
NT, class DER>
◆ getncol() [3/3]
template<class
IT, class
NT, class DER>
◆ getnnz() [1/3]
template<class
IT, class
NT, class DER>
◆ getnnz() [2/3]
template<class
IT, class
NT, class DER>
◆ getnnz() [3/3]
template<class
IT, class
NT, class DER>
◆ getnrow() [1/3]
template<class
IT, class
NT, class DER>
◆ getnrow() [2/3]
template<class
IT, class
NT, class DER>
◆ getnrow() [3/3]
template<class
IT, class
NT, class DER>
◆ getnsplit() [1/3]
template<class
IT, class
NT, class DER>
◆ getnsplit() [2/3]
template<class
IT, class
NT, class DER>
◆ getnsplit() [3/3]
template<class
IT, class
NT, class DER>
◆ isZero() [1/3]
template<class
IT, class
NT, class DER>
◆ isZero() [2/3]
template<class
IT, class
NT, class DER>
◆ isZero() [3/3]
template<class
IT, class
NT, class DER>
◆ Merge() [1/3]
template<class
IT, class
NT, class DER>
◆ Merge() [2/3]
template<class
IT, class
NT, class DER>
◆ Merge() [3/3]
template<class
IT, class
NT, class DER>
◆ operator()() [1/3]
template<class
IT, class
NT, class DER>
◆ operator()() [2/3]
template<class
IT, class
NT, class DER>
◆ operator()() [3/3]
template<class
IT, class
NT, class DER>
◆ operator==() [1/3]
template<class
IT, class
NT, class DER>
◆ operator==() [2/3]
template<class
IT, class
NT, class DER>
◆ operator==() [3/3]
template<class
IT, class
NT, class DER>
◆ put() [1/3]
template<class
IT, class
NT, class DER>
◆ put() [2/3]
template<class
IT, class
NT, class DER>
◆ put() [3/3]
template<class
IT, class
NT, class DER>
◆ SpGEMM() [1/3]
template<class
IT, class
NT, class DER>
◆ SpGEMM() [2/3]
template<class
IT, class
NT, class DER>
◆ SpGEMM() [3/3]
template<class
IT, class
NT, class DER>
◆ Split() [1/3]
template<class
IT, class
NT, class DER>
◆ Split() [2/3]
template<class
IT, class
NT, class DER>
◆ Split() [3/3]
template<class
IT, class
NT, class DER>
◆ Transpose() [1/3]
template<class
IT, class
NT, class DER>
◆ Transpose() [2/3]
template<class
IT, class
NT, class DER>
◆ Transpose() [3/3]
template<class
IT, class
NT, class DER>
◆ MultiplyReturnTuples [1/3]
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 134 of file SpMat.cpp.
◆ MultiplyReturnTuples [2/3]
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 134 of file SpMat.cpp.
◆ MultiplyReturnTuples [3/3]
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 134 of file SpMat.cpp.
◆ operator<< [1/3]
template<class
IT, class
NT, class DER>
template<typename UIT, typename UNT, typename UDER>
| std::ofstream & operator<< |
( |
std::ofstream & | outfile, |
|
|
const SpMat< UIT, UNT, UDER > & | s ) |
|
friend |
◆ operator<< [2/3]
template<class
IT, class
NT, class DER>
template<typename UIT, typename UNT, typename UDER>
| std::ofstream & operator<< |
( |
std::ofstream & | outfile, |
|
|
const SpMat< UIT, UNT, UDER > & | s ) |
|
friend |
◆ operator<< [3/3]
template<class
IT, class
NT, class DER>
template<typename UIT, typename UNT, typename UDER>
| std::ofstream & operator<< |
( |
std::ofstream & | outfile, |
|
|
const SpMat< UIT, UNT, UDER > & | s ) |
|
friend |
◆ operator>> [1/3]
template<class
IT, class
NT, class DER>
template<typename UIT, typename UNT, typename UDER>
| std::ifstream & operator>> |
( |
std::ifstream & | infile, |
|
|
SpMat< UIT, UNT, UDER > & | s ) |
|
friend |
◆ operator>> [2/3]
template<class
IT, class
NT, class DER>
template<typename UIT, typename UNT, typename UDER>
| std::ifstream & operator>> |
( |
std::ifstream & | infile, |
|
|
SpMat< UIT, UNT, UDER > & | s ) |
|
friend |
◆ operator>> [3/3]
template<class
IT, class
NT, class DER>
template<typename UIT, typename UNT, typename UDER>
| std::ifstream & operator>> |
( |
std::ifstream & | infile, |
|
|
SpMat< UIT, UNT, UDER > & | s ) |
|
friend |
The documentation for this class was generated from the following files: