44template <
class IU,
class NU>
54template <
class IT,
class NT,
class DER >
73 template <
typename SR>
110 return static_cast<DER*
>(
this)->
begcol();
114 return static_cast<DER*
>(
this)->
endcol();
118 return static_cast<DER*
>(
this)->
begcol(i);
122 return static_cast<DER*
>(
this)->
endcol(i);
125 template <
typename X = DER>
131 template <
typename X = DER>
137 template <
typename X = DER>
143 template <
typename X = DER>
162 template <
typename UIT,
typename UNT,
typename UDER >
165 template <
typename UIT,
typename UNT,
typename UDER >
170 template<
class SR,
class NUO,
class IU,
class NU1,
class NU2,
class DER1,
class DER2 >
friend std::ofstream & operator<<(std::ofstream &outfile, const SpMat< UIT, UNT, UDER > &s)
bool operator==(const SpMat< IT, NT, DER > &rhs) const
SpMat< IT, NT, DER > operator()(const std::vector< IT > &ri, const std::vector< IT > &ci) const
std::vector< IT > GetEssentials() const
friend SpTuples< IU, NUO > * MultiplyReturnTuples(const SpMat< IU, NU1, DER1 > &A, const SpMat< IU, NU2, DER2 > &B, bool isAT, bool isBT, bool clearA, bool clearB)
std::ofstream & put(std::ofstream &outfile) const
void Create(IT size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples)
Arr< IT, NT > GetArrays() const
void Merge(SpMat< IT, NT, DER > &partA, SpMat< IT, NT, DER > &partB)
auto endnz(const typename X::SpColIter &ccol)
void Split(SpMat< IT, NT, DER > &partA, SpMat< IT, NT, DER > &partB)
auto GetInternal(int i) const
auto begnz(const typename X::SpColIter &ccol)
void SpGEMM(SpMat< IT, NT, DER > &A, SpMat< IT, NT, DER > &B, bool isAT, bool isBT)
std::ifstream & get(std::ifstream &infile)
auto begnz(const typename X::SpColIter &ccol, int i)
auto endnz(const typename X::SpColIter &ccol, int i)
friend std::ifstream & operator>>(std::ifstream &infile, SpMat< UIT, UNT, UDER > &s)
void Create(const std::vector< IT > &essentials)