COMBINATORIAL_BLAS 1.6
 
Loading...
Searching...
No Matches
combblas::SpCCols< IT, NT > Class Template Reference

#include <SpCCols.h>

Inheritance diagram for combblas::SpCCols< IT, NT >:
Collaboration diagram for combblas::SpCCols< IT, NT >:

Classes

class  SpColIter
 Iterate over (sparse) columns of the sparse matrix. More...
 

Public Types

typedef IT LocalIT
 
typedef NT LocalNT
 
typedef IT LocalIT
 
typedef NT LocalNT
 
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, NTGetArrays () const
 
std::vector< ITGetEssentials () 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
 
template<typename UnaryOperation , typename GlobalIT >
SpCCols< IT, NT > * PruneI (UnaryOperation unary_op, bool inPlace, GlobalIT rowOffset, GlobalIT colOffset)
 
Csc< IT, NT > * GetCSC () const
 
Csc< IT, NT > * GetCSC (int i) const
 
bool isZero () const
 
void Transpose ()
 
SpCCols< IT, NTTransposeConst () const
 
SpCCols< IT, NT > * TransposeConstPtr () const
 
void Split (SpCCols< IT, NT > &partA, SpCCols< IT, NT > &partB)
 
void Merge (SpCCols< IT, NT > &partA, SpCCols< IT, NT > &partB)
 
std::ofstream & put (std::ofstream &outfile) const
 
 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, NTGetArrays () const
 
std::vector< ITGetEssentials () 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
 
template<typename UnaryOperation , typename GlobalIT >
SpCCols< IT, NT > * PruneI (UnaryOperation unary_op, bool inPlace, GlobalIT rowOffset, GlobalIT colOffset)
 
Csc< IT, NT > * GetCSC () const
 
Csc< IT, NT > * GetCSC (int i) const
 
bool isZero () const
 
void Transpose ()
 
SpCCols< IT, NTTransposeConst () const
 
SpCCols< IT, NT > * TransposeConstPtr () const
 
void Split (SpCCols< IT, NT > &partA, SpCCols< IT, NT > &partB)
 
void Merge (SpCCols< IT, NT > &partA, SpCCols< IT, NT > &partB)
 
std::ofstream & put (std::ofstream &outfile) const
 
 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, NTGetArrays () const
 
std::vector< ITGetEssentials () 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
 
template<typename UnaryOperation , typename GlobalIT >
SpCCols< IT, NT > * PruneI (UnaryOperation unary_op, bool inPlace, GlobalIT rowOffset, GlobalIT colOffset)
 
Csc< IT, NT > * GetCSC () const
 
Csc< IT, NT > * GetCSC (int i) const
 
bool isZero () const
 
void Transpose ()
 
SpCCols< IT, NTTransposeConst () const
 
SpCCols< IT, NT > * TransposeConstPtr () const
 
void Split (SpCCols< IT, NT > &partA, SpCCols< IT, NT > &partB)
 
void Merge (SpCCols< IT, NT > &partA, SpCCols< IT, NT > &partB)
 
std::ofstream & put (std::ofstream &outfile) const
 
- Public Member Functions inherited from combblas::SpMat< IT, NT, SpCCols< IT, NT > >
void Create (const std::vector< IT > &essentials)
 
void Create (IT size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples)
 
void Create (const std::vector< IT > &essentials)
 
void Create (IT size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples)
 
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
 
SpMat< IT, NT, SpCCols< IT, NT > > operator() (const std::vector< IT > &ri, const std::vector< IT > &ci) const
 
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 SpGEMM (SpMat< IT, NT, SpCCols< IT, NT > > &A, SpMat< IT, NT, SpCCols< IT, NT > > &B, bool isAT, bool isBT)
 
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 Split (SpMat< IT, NT, SpCCols< IT, NT > > &partA, SpMat< IT, NT, SpCCols< IT, NT > > &partB)
 
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)
 
void Merge (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, NTGetArrays () const
 
Arr< IT, NTGetArrays () const
 
Arr< IT, NTGetArrays () const
 
std::vector< ITGetEssentials () const
 
std::vector< ITGetEssentials () const
 
std::vector< ITGetEssentials () const
 
auto GetInternal () const
 
auto GetInternal (int i) const
 
auto GetInternal () const
 
auto GetInternal (int i) const
 
auto GetInternal () const
 
auto GetInternal (int i) const
 
int getnsplit () const
 
int getnsplit () const
 
int getnsplit () const
 
void Transpose ()
 
void Transpose ()
 
void Transpose ()
 
auto begcol ()
 
auto begcol (int i)
 
auto begcol ()
 
auto begcol (int i)
 
auto begcol ()
 
auto begcol (int i)
 
auto endcol ()
 
auto endcol (int i)
 
auto endcol ()
 
auto endcol (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 begnz (const typename X::SpColIter &ccol)
 
auto begnz (const typename X::SpColIter &ccol, 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)
 
auto endnz (const typename X::SpColIter &ccol)
 
auto endnz (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
 
bool operator== (const SpMat< IT, NT, SpCCols< IT, NT > > &rhs) const
 
bool operator== (const SpMat< IT, NT, SpCCols< IT, NT > > &rhs) const
 
std::ofstream & put (std::ofstream &outfile) const
 
std::ofstream & put (std::ofstream &outfile) const
 
std::ofstream & put (std::ofstream &outfile) const
 
std::ifstream & get (std::ifstream &infile)
 
std::ifstream & get (std::ifstream &infile)
 
std::ifstream & get (std::ifstream &infile)
 
bool isZero () const
 
bool isZero () const
 
bool isZero () const
 
IT getnrow () const
 
IT getnrow () const
 
IT getnrow () const
 
IT getncol () const
 
IT getncol () const
 
IT getncol () const
 
IT getnnz () const
 
IT getnnz () const
 
IT getnnz () const
 

Static Public Attributes

static const IT esscount = static_cast<IT>(3)
 

Friends

template<class IU , class NU >
class SpTuples
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
template<class IU , class NU >
class SpTuples
 
template<class IU , class NU >
class SpTuples
 

Detailed Description

template<class IT, class NT>
class combblas::SpCCols< IT, NT >

Definition at line 41 of file SpCCols.h.

Member Typedef Documentation

◆ LocalIT [1/3]

template<class IT , class NT >
typedef IT combblas::SpCCols< IT, NT >::LocalIT

Definition at line 44 of file SpCCols.h.

◆ LocalIT [2/3]

template<class IT , class NT >
typedef IT combblas::SpCCols< IT, NT >::LocalIT

Definition at line 44 of file SpCCols.h.

◆ LocalIT [3/3]

template<class IT , class NT >
typedef IT combblas::SpCCols< IT, NT >::LocalIT

Definition at line 44 of file SpCCols.h.

◆ LocalNT [1/3]

template<class IT , class NT >
typedef NT combblas::SpCCols< IT, NT >::LocalNT

Definition at line 45 of file SpCCols.h.

◆ LocalNT [2/3]

template<class IT , class NT >
typedef NT combblas::SpCCols< IT, NT >::LocalNT

Definition at line 45 of file SpCCols.h.

◆ LocalNT [3/3]

template<class IT , class NT >
typedef NT combblas::SpCCols< IT, NT >::LocalNT

Definition at line 45 of file SpCCols.h.

Constructor & Destructor Documentation

◆ SpCCols() [1/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( )

Definition at line 50 of file SpCCols.cpp.

◆ SpCCols() [2/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( IT  size,
IT  nRow,
IT  nCol 
)

Definition at line 55 of file SpCCols.cpp.

◆ SpCCols() [3/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( const SpTuples< IT, NT > &  rhs,
bool  transpose 
)

Constructor for converting SpTuples matrix -> SpCCols

Parameters
[in]rhsif transpose=true,
then rhs is assumed to be a row sorted SpTuples object
else rhs is assumed to be a column sorted SpTuples object

Definition at line 109 of file SpCCols.cpp.

◆ SpCCols() [4/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( const SpDCCols< IT, NT > &  rhs)
inline

Definition at line 51 of file SpCCols.h.

◆ SpCCols() [5/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( const SpCCols< IT, NT > &  rhs)

Definition at line 88 of file SpCCols.cpp.

◆ ~SpCCols() [1/3]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::~SpCCols ( )

Definition at line 65 of file SpCCols.cpp.

◆ SpCCols() [6/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( )

◆ SpCCols() [7/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( IT  size,
IT  nRow,
IT  nCol 
)

◆ SpCCols() [8/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( const SpTuples< IT, NT > &  rhs,
bool  transpose 
)

◆ SpCCols() [9/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( const SpDCCols< IT, NT > &  rhs)
inline

Definition at line 51 of file SpCCols.h.

◆ SpCCols() [10/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( const SpCCols< IT, NT > &  rhs)

◆ ~SpCCols() [2/3]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::~SpCCols ( )

◆ SpCCols() [11/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( )

◆ SpCCols() [12/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( IT  size,
IT  nRow,
IT  nCol 
)

◆ SpCCols() [13/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( const SpTuples< IT, NT > &  rhs,
bool  transpose 
)

◆ SpCCols() [14/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( const SpDCCols< IT, NT > &  rhs)
inline

Definition at line 51 of file SpCCols.h.

◆ SpCCols() [15/15]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::SpCCols ( const SpCCols< IT, NT > &  rhs)

◆ ~SpCCols() [3/3]

template<class IT , class NT >
combblas::SpCCols< IT, NT >::~SpCCols ( )

Member Function Documentation

◆ begcol() [1/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::begcol ( )
inline

Definition at line 162 of file SpCCols.h.

◆ begcol() [2/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::begcol ( )
inline

Definition at line 162 of file SpCCols.h.

◆ begcol() [3/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::begcol ( )
inline

Definition at line 162 of file SpCCols.h.

◆ begcol() [4/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::begcol ( int  i)
inline

Definition at line 177 of file SpCCols.h.

◆ begcol() [5/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::begcol ( int  i)
inline

Definition at line 177 of file SpCCols.h.

◆ begcol() [6/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::begcol ( int  i)
inline

Definition at line 177 of file SpCCols.h.

◆ begnz() [1/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::begnz ( const SpColIter ccol)
inline
Parameters
ccolReturn the beginning iterator for the nonzeros of the current column

Definition at line 193 of file SpCCols.h.

◆ begnz() [2/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::begnz ( const SpColIter ccol)
inline
Parameters
ccolReturn the beginning iterator for the nonzeros of the current column

Definition at line 193 of file SpCCols.h.

◆ begnz() [3/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::begnz ( const SpColIter ccol)
inline
Parameters
ccolReturn the beginning iterator for the nonzeros of the current column

Definition at line 193 of file SpCCols.h.

◆ begnz() [4/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::begnz ( const SpColIter ccol,
int  i 
)
inline
Parameters
imultithreaded version

Definition at line 203 of file SpCCols.h.

◆ begnz() [5/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::begnz ( const SpColIter ccol,
int  i 
)
inline
Parameters
imultithreaded version

Definition at line 203 of file SpCCols.h.

◆ begnz() [6/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::begnz ( const SpColIter ccol,
int  i 
)
inline
Parameters
imultithreaded version

Definition at line 203 of file SpCCols.h.

◆ ColSplit() [1/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::ColSplit ( int  parts,
std::vector< SpCCols< IT, NT > > &  matrices 
)
Attention
Destroys calling object (*this)

◆ ColSplit() [2/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::ColSplit ( int  parts,
std::vector< SpCCols< IT, NT > > &  matrices 
)
Attention
Destroys calling object (*this)

◆ ColSplit() [3/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::ColSplit ( int  parts,
std::vector< SpCCols< IT, NT > > &  matrices 
)
Attention
Destroys calling object (*this)

◆ CreateImpl() [1/6]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::CreateImpl ( const std::vector< IT > &  essentials)

Definition at line 383 of file SpCCols.cpp.

◆ CreateImpl() [2/6]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::CreateImpl ( const std::vector< IT > &  essentials)

◆ CreateImpl() [3/6]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::CreateImpl ( const std::vector< IT > &  essentials)

◆ CreateImpl() [4/6]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::CreateImpl ( IT  size,
IT  nRow,
IT  nCol,
std::tuple< IT, IT, NT > *  mytuples 
)

Definition at line 401 of file SpCCols.cpp.

◆ CreateImpl() [5/6]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::CreateImpl ( IT  size,
IT  nRow,
IT  nCol,
std::tuple< IT, IT, NT > *  mytuples 
)

◆ CreateImpl() [6/6]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::CreateImpl ( IT  size,
IT  nRow,
IT  nCol,
std::tuple< IT, IT, NT > *  mytuples 
)

◆ endcol() [1/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::endcol ( )
inline

Definition at line 169 of file SpCCols.h.

◆ endcol() [2/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::endcol ( )
inline

Definition at line 169 of file SpCCols.h.

◆ endcol() [3/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::endcol ( )
inline

Definition at line 169 of file SpCCols.h.

◆ endcol() [4/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::endcol ( int  i)
inline

Definition at line 184 of file SpCCols.h.

◆ endcol() [5/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::endcol ( int  i)
inline

Definition at line 184 of file SpCCols.h.

◆ endcol() [6/6]

template<class IT , class NT >
SpColIter combblas::SpCCols< IT, NT >::endcol ( int  i)
inline

Definition at line 184 of file SpCCols.h.

◆ endnz() [1/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::endnz ( const SpColIter ccol)
inline
Parameters
ccolReturn the ending iterator for the nonzeros of the current column

Definition at line 198 of file SpCCols.h.

◆ endnz() [2/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::endnz ( const SpColIter ccol)
inline
Parameters
ccolReturn the ending iterator for the nonzeros of the current column

Definition at line 198 of file SpCCols.h.

◆ endnz() [3/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::endnz ( const SpColIter ccol)
inline
Parameters
ccolReturn the ending iterator for the nonzeros of the current column

Definition at line 198 of file SpCCols.h.

◆ endnz() [4/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::endnz ( const SpColIter ccol,
int  i 
)
inline
Parameters
imultithreaded version

Definition at line 208 of file SpCCols.h.

◆ endnz() [5/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::endnz ( const SpColIter ccol,
int  i 
)
inline
Parameters
imultithreaded version

Definition at line 208 of file SpCCols.h.

◆ endnz() [6/6]

template<class IT , class NT >
SpColIter::NzIter combblas::SpCCols< IT, NT >::endnz ( const SpColIter ccol,
int  i 
)
inline
Parameters
imultithreaded version

Definition at line 208 of file SpCCols.h.

◆ GetArrays() [1/3]

template<class IT , class NT >
Arr< IT, NT > combblas::SpCCols< IT, NT >::GetArrays ( void  ) const

Definition at line 416 of file SpCCols.cpp.

◆ GetArrays() [2/3]

template<class IT , class NT >
Arr< IT, NT > combblas::SpCCols< IT, NT >::GetArrays ( ) const

◆ GetArrays() [3/3]

template<class IT , class NT >
Arr< IT, NT > combblas::SpCCols< IT, NT >::GetArrays ( ) const

◆ GetCSC() [1/6]

template<class IT , class NT >
Csc< IT, NT > * combblas::SpCCols< IT, NT >::GetCSC ( ) const
inline

Definition at line 224 of file SpCCols.h.

◆ GetCSC() [2/6]

template<class IT , class NT >
Csc< IT, NT > * combblas::SpCCols< IT, NT >::GetCSC ( ) const
inline

Definition at line 224 of file SpCCols.h.

◆ GetCSC() [3/6]

template<class IT , class NT >
Csc< IT, NT > * combblas::SpCCols< IT, NT >::GetCSC ( ) const
inline

Definition at line 224 of file SpCCols.h.

◆ GetCSC() [4/6]

template<class IT , class NT >
Csc< IT, NT > * combblas::SpCCols< IT, NT >::GetCSC ( int  i) const
inline

Definition at line 231 of file SpCCols.h.

◆ GetCSC() [5/6]

template<class IT , class NT >
Csc< IT, NT > * combblas::SpCCols< IT, NT >::GetCSC ( int  i) const
inline

Definition at line 231 of file SpCCols.h.

◆ GetCSC() [6/6]

template<class IT , class NT >
Csc< IT, NT > * combblas::SpCCols< IT, NT >::GetCSC ( int  i) const
inline

Definition at line 231 of file SpCCols.h.

◆ GetEssentials() [1/3]

template<class IT , class NT >
std::vector< IT > combblas::SpCCols< IT, NT >::GetEssentials ( void  ) const

Definition at line 370 of file SpCCols.cpp.

◆ GetEssentials() [2/3]

template<class IT , class NT >
std::vector< IT > combblas::SpCCols< IT, NT >::GetEssentials ( ) const

◆ GetEssentials() [3/3]

template<class IT , class NT >
std::vector< IT > combblas::SpCCols< IT, NT >::GetEssentials ( ) const

◆ GetInternal() [1/6]

template<class IT , class NT >
auto combblas::SpCCols< IT, NT >::GetInternal ( ) const
inline

Definition at line 81 of file SpCCols.h.

◆ GetInternal() [2/6]

template<class IT , class NT >
auto combblas::SpCCols< IT, NT >::GetInternal ( ) const
inline

Definition at line 81 of file SpCCols.h.

◆ GetInternal() [3/6]

template<class IT , class NT >
auto combblas::SpCCols< IT, NT >::GetInternal ( ) const
inline

Definition at line 81 of file SpCCols.h.

◆ GetInternal() [4/6]

template<class IT , class NT >
auto combblas::SpCCols< IT, NT >::GetInternal ( int  i) const
inline

Definition at line 82 of file SpCCols.h.

◆ GetInternal() [5/6]

template<class IT , class NT >
auto combblas::SpCCols< IT, NT >::GetInternal ( int  i) const
inline

Definition at line 82 of file SpCCols.h.

◆ GetInternal() [6/6]

template<class IT , class NT >
auto combblas::SpCCols< IT, NT >::GetInternal ( int  i) const
inline

Definition at line 82 of file SpCCols.h.

◆ getncol() [1/3]

template<class IT , class NT >
IT combblas::SpCCols< IT, NT >::getncol ( ) const
inline

Definition at line 76 of file SpCCols.h.

◆ getncol() [2/3]

template<class IT , class NT >
IT combblas::SpCCols< IT, NT >::getncol ( ) const
inline

Definition at line 76 of file SpCCols.h.

◆ getncol() [3/3]

template<class IT , class NT >
IT combblas::SpCCols< IT, NT >::getncol ( ) const
inline

Definition at line 76 of file SpCCols.h.

◆ getnnz() [1/3]

template<class IT , class NT >
IT combblas::SpCCols< IT, NT >::getnnz ( ) const
inline

Definition at line 77 of file SpCCols.h.

◆ getnnz() [2/3]

template<class IT , class NT >
IT combblas::SpCCols< IT, NT >::getnnz ( ) const
inline

Definition at line 77 of file SpCCols.h.

◆ getnnz() [3/3]

template<class IT , class NT >
IT combblas::SpCCols< IT, NT >::getnnz ( ) const
inline

Definition at line 77 of file SpCCols.h.

◆ getnrow() [1/3]

template<class IT , class NT >
IT combblas::SpCCols< IT, NT >::getnrow ( ) const
inline

Definition at line 75 of file SpCCols.h.

◆ getnrow() [2/3]

template<class IT , class NT >
IT combblas::SpCCols< IT, NT >::getnrow ( ) const
inline

Definition at line 75 of file SpCCols.h.

◆ getnrow() [3/3]

template<class IT , class NT >
IT combblas::SpCCols< IT, NT >::getnrow ( ) const
inline

Definition at line 75 of file SpCCols.h.

◆ getnsplit() [1/3]

template<class IT , class NT >
int combblas::SpCCols< IT, NT >::getnsplit ( ) const
inline

Definition at line 78 of file SpCCols.h.

◆ getnsplit() [2/3]

template<class IT , class NT >
int combblas::SpCCols< IT, NT >::getnsplit ( ) const
inline

Definition at line 78 of file SpCCols.h.

◆ getnsplit() [3/3]

template<class IT , class NT >
int combblas::SpCCols< IT, NT >::getnsplit ( ) const
inline

Definition at line 78 of file SpCCols.h.

◆ isZero() [1/3]

template<class IT , class NT >
bool combblas::SpCCols< IT, NT >::isZero ( ) const
inline

Definition at line 238 of file SpCCols.h.

◆ isZero() [2/3]

template<class IT , class NT >
bool combblas::SpCCols< IT, NT >::isZero ( ) const
inline

Definition at line 238 of file SpCCols.h.

◆ isZero() [3/3]

template<class IT , class NT >
bool combblas::SpCCols< IT, NT >::isZero ( ) const
inline

Definition at line 238 of file SpCCols.h.

◆ Merge() [1/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::Merge ( SpCCols< IT, NT > &  partA,
SpCCols< IT, NT > &  partB 
)

Definition at line 507 of file SpCCols.cpp.

◆ Merge() [2/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::Merge ( SpCCols< IT, NT > &  partA,
SpCCols< IT, NT > &  partB 
)

◆ Merge() [3/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::Merge ( SpCCols< IT, NT > &  partA,
SpCCols< IT, NT > &  partB 
)

◆ operator+=() [1/3]

template<class IT , class NT >
SpCCols< IT, NT > & combblas::SpCCols< IT, NT >::operator+= ( const SpCCols< IT, NT > &  rhs)

◆ operator+=() [2/3]

template<class IT , class NT >
SpCCols< IT, NT > & combblas::SpCCols< IT, NT >::operator+= ( const SpCCols< IT, NT > &  rhs)

◆ operator+=() [3/3]

template<class IT , class NT >
SpCCols< IT, NT > & combblas::SpCCols< IT, NT >::operator+= ( const SpCCols< IT, NT > &  rhs)

◆ operator=() [1/3]

template<class IT , class NT >
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.

◆ operator=() [2/3]

template<class IT , class NT >
SpCCols< IT, NT > & combblas::SpCCols< IT, NT >::operator= ( const SpCCols< IT, NT > &  rhs)

◆ operator=() [3/3]

template<class IT , class NT >
SpCCols< IT, NT > & combblas::SpCCols< IT, NT >::operator= ( const SpCCols< IT, NT > &  rhs)

◆ PrintInfo() [1/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::PrintInfo ( ) const

Definition at line 291 of file SpCCols.cpp.

◆ PrintInfo() [2/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::PrintInfo ( ) const

◆ PrintInfo() [3/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::PrintInfo ( ) const

◆ PruneI() [1/3]

template<class IT , class NT >
template<typename UnaryOperation , typename GlobalIT >
SpCCols< IT, NT > * combblas::SpCCols< IT, NT >::PruneI ( UnaryOperation  unary_op,
bool  inPlace,
GlobalIT  rowOffset,
GlobalIT  colOffset 
)

Definition at line 318 of file SpCCols.cpp.

◆ PruneI() [2/3]

template<class IT , class NT >
template<typename UnaryOperation , typename GlobalIT >
SpCCols< IT, NT > * combblas::SpCCols< IT, NT >::PruneI ( UnaryOperation  unary_op,
bool  inPlace,
GlobalIT  rowOffset,
GlobalIT  colOffset 
)

◆ PruneI() [3/3]

template<class IT , class NT >
template<typename UnaryOperation , typename GlobalIT >
SpCCols< IT, NT > * combblas::SpCCols< IT, NT >::PruneI ( UnaryOperation  unary_op,
bool  inPlace,
GlobalIT  rowOffset,
GlobalIT  colOffset 
)

◆ put() [1/3]

template<class IT , class NT >
std::ofstream & combblas::SpCCols< IT, NT >::put ( std::ofstream &  outfile) const

Definition at line 549 of file SpCCols.cpp.

◆ put() [2/3]

template<class IT , class NT >
std::ofstream & combblas::SpCCols< IT, NT >::put ( std::ofstream &  outfile) const

◆ put() [3/3]

template<class IT , class NT >
std::ofstream & combblas::SpCCols< IT, NT >::put ( std::ofstream &  outfile) const

◆ RowSplit() [1/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::RowSplit ( int  numsplits)

Definition at line 236 of file SpCCols.cpp.

◆ RowSplit() [2/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::RowSplit ( int  numsplits)

◆ RowSplit() [3/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::RowSplit ( int  numsplits)

◆ Split() [1/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::Split ( SpCCols< IT, NT > &  partA,
SpCCols< IT, NT > &  partB 
)

Definition at line 480 of file SpCCols.cpp.

◆ Split() [2/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::Split ( SpCCols< IT, NT > &  partA,
SpCCols< IT, NT > &  partB 
)

◆ Split() [3/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::Split ( SpCCols< IT, NT > &  partA,
SpCCols< IT, NT > &  partB 
)

◆ Transpose() [1/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::Transpose ( void  )

Definition at line 440 of file SpCCols.cpp.

◆ Transpose() [2/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::Transpose ( )

◆ Transpose() [3/3]

template<class IT , class NT >
void combblas::SpCCols< IT, NT >::Transpose ( )

◆ TransposeConst() [1/3]

template<class IT , class NT >
SpCCols< IT, NT > combblas::SpCCols< IT, NT >::TransposeConst ( void  ) const

Definition at line 456 of file SpCCols.cpp.

◆ TransposeConst() [2/3]

template<class IT , class NT >
SpCCols< IT, NT > combblas::SpCCols< IT, NT >::TransposeConst ( ) const

◆ TransposeConst() [3/3]

template<class IT , class NT >
SpCCols< IT, NT > combblas::SpCCols< IT, NT >::TransposeConst ( ) const

◆ TransposeConstPtr() [1/3]

template<class IT , class NT >
SpCCols< IT, NT > * combblas::SpCCols< IT, NT >::TransposeConstPtr ( void  ) const

Definition at line 468 of file SpCCols.cpp.

◆ TransposeConstPtr() [2/3]

template<class IT , class NT >
SpCCols< IT, NT > * combblas::SpCCols< IT, NT >::TransposeConstPtr ( ) const

◆ TransposeConstPtr() [3/3]

template<class IT , class NT >
SpCCols< IT, NT > * combblas::SpCCols< IT, NT >::TransposeConstPtr ( ) const

Friends And Related Symbol Documentation

◆ csc_gespmv_dense [1/3]

template<class IT , class NT >
void csc_gespmv_dense ( const SpCCols< IU, NU > &  A,
const RHS x,
LHS y 
)
friend

dense vector (not implemented)

◆ csc_gespmv_dense [2/3]

template<class IT , class NT >
void csc_gespmv_dense ( const SpCCols< IU, NU > &  A,
const RHS x,
LHS y 
)
friend

dense vector (not implemented)

◆ csc_gespmv_dense [3/3]

template<class IT , class NT >
void csc_gespmv_dense ( const SpCCols< IU, NU > &  A,
const RHS x,
LHS y 
)
friend

dense vector (not implemented)

◆ generic_gespmv_threaded [1/3]

template<class IT , class NT >
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 
)
friend

Multithreaded SpMV with sparse vector the assembly of outgoing buffers sendindbuf/sendnumbuf are done here

Definition at line 182 of file Friends.h.

◆ generic_gespmv_threaded [2/3]

template<class IT , class NT >
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 
)
friend

Multithreaded SpMV with sparse vector the assembly of outgoing buffers sendindbuf/sendnumbuf are done here

Definition at line 182 of file Friends.h.

◆ generic_gespmv_threaded [3/3]

template<class IT , class NT >
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 
)
friend

Multithreaded SpMV with sparse vector the assembly of outgoing buffers sendindbuf/sendnumbuf are done here

Definition at line 182 of file Friends.h.

◆ SpTuples [1/3]

template<class IT , class NT >
template<class IU , class NU >
friend class SpTuples
friend

Definition at line 279 of file SpCCols.h.

◆ SpTuples [2/3]

template<class IT , class NT >
template<class IU , class NU >
class SpTuples
friend

Definition at line 279 of file SpCCols.h.

◆ SpTuples [3/3]

template<class IT , class NT >
template<class IU , class NU >
class SpTuples
friend

Definition at line 279 of file SpCCols.h.

Member Data Documentation

◆ csc

template<class IT , class NT >
Csc<IT, NT>* combblas::SpCCols< IT, NT >::csc

Definition at line 268 of file SpCCols.h.

◆ cscarr

template<class IT , class NT >
Csc<IT, NT>** combblas::SpCCols< IT, NT >::cscarr

Definition at line 269 of file SpCCols.h.

◆ esscount

template<class IT , class NT >
static const IT combblas::SpCCols< IT, NT >::esscount = static_cast<IT>(3)
static

Definition at line 73 of file SpCCols.h.


The documentation for this class was generated from the following files: