40 template <
class IT,
class NT>
68 void CreateImpl(
const std::vector<IT> & essentials);
69 void CreateImpl(IT
size, IT nRow, IT nCol, std::tuple<IT, IT, NT> * mytuples);
91 NzIter(IT * ir = NULL, NT * num = NULL) : rid(ir), val(num) {}
95 return(rid == other.rid);
99 return(rid != other.rid);
130 return(curcptr == other.curcptr);
134 return(curcptr != other.curcptr);
143 return (curcptr-begcptr);
151 return (*(curcptr+1));
243 template <
typename SR,
typename IU,
typename NU,
typename RHS,
typename LHS>
247 template <
typename SR,
typename IU,
typename NUM,
typename DER,
typename IVT,
typename OVT>
249 int32_t * & sendindbuf, OVT * & sendnumbuf,
int * & sdispls,
int p_c,
PreAllocatedSPA<OVT> & SPA);
291 template <
class NIT,
class NNT,
class OIT,
class ONT>
NzIter(IT *ir=NULL, NT *num=NULL)
std::vector< IT > GetEssentials() const
void ColSplit(int parts, std::vector< SpCCols< IT, NT > > &matrices)
SpColIter::NzIter begnz(const SpColIter &ccol)
SpColIter::NzIter begnz(const SpColIter &ccol, int i)
Iterate over the nonzeros of the sparse column.
IT colid() const
< Return the "local" colid of the current column.
SpColIter::NzIter endnz(const SpColIter &ccol, int i)
bool operator!=(const NzIter &other)
SpCCols(const SpDCCols< IT, NT > &rhs)
SpCCols< IT, NT > & operator=(const SpCCols< IT, NT > &rhs)
friend void csc_gespmv_dense(const SpCCols< IU, NU > &A, const RHS *x, LHS *y)
dense vector (not implemented)
SpCCols< NIT, NNT > T_inferred
bool operator==(const SpColIter &other)
void CreateImpl(const std::vector< IT > &essentials)
friend 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)
SpColIter::NzIter endnz(const SpColIter &ccol)
auto GetInternal(int i) const
bool operator==(const NzIter &other)
Arr< IT, NT > GetArrays() const
SpCCols< IT, NT > & operator+=(const SpCCols< IT, NT > &rhs)
Iterate over (sparse) columns of the sparse matrix.
void RowSplit(int numsplits)
IT rowid() const
< Return the "local" rowid of the current nonzero entry.
bool operator!=(const SpColIter &other)