|
| | SpDCCols () |
| | SpDCCols (IT size, IT nRow, IT nCol, IT nzc) |
| | SpDCCols (const SpTuples< IT, NT > &rhs, bool transpose) |
| | SpDCCols (IT nRow, IT nCol, IT nnz1, const std::tuple< IT, IT, NT > *rhs, bool transpose) |
| | SpDCCols (const SpDCCols< IT, NT > &rhs) |
| | ~SpDCCols () |
| template<typename NNT> |
| | operator SpDCCols< IT, NNT > () const |
| | NNT: New numeric type.
|
| template<typename NIT, typename NNT> |
| | operator SpDCCols< NIT, NNT > () const |
| | NNT: New numeric type, NIT: New index type.
|
| SpDCCols< IT, NT > & | operator= (const SpDCCols< IT, NT > &rhs) |
| SpDCCols< IT, NT > & | operator+= (const SpDCCols< IT, NT > &rhs) |
| SpDCCols< IT, NT > | operator() (IT ri, IT ci) const |
| SpDCCols< IT, NT > | operator() (const std::vector< IT > &ri, const std::vector< IT > &ci) const |
| bool | operator== (const SpDCCols< IT, NT > &rhs) const |
| SpColIter | begcol () |
| SpColIter | begcol (int i) |
| SpColIter | endcol () |
| 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) |
| template<typename _UnaryOperation> |
| void | Apply (_UnaryOperation __unary_op) |
| template<typename _UnaryOperation, typename GlobalIT> |
| SpDCCols< IT, NT > * | PruneI (_UnaryOperation __unary_op, bool inPlace, GlobalIT rowOffset, GlobalIT colOffset) |
| template<typename _UnaryOperation> |
| SpDCCols< IT, NT > * | Prune (_UnaryOperation __unary_op, bool inPlace) |
| template<typename _BinaryOperation> |
| SpDCCols< IT, NT > * | PruneColumn (NT *pvals, _BinaryOperation __binary_op, bool inPlace) |
| template<typename _BinaryOperation> |
| SpDCCols< IT, NT > * | PruneColumn (IT *pinds, NT *pvals, _BinaryOperation __binary_op, bool inPlace) |
| void | PruneColumnByIndex (const std::vector< IT > &ci) |
| template<typename _BinaryOperation> |
| void | UpdateDense (NT **array, _BinaryOperation __binary_op) const |
| void | EWiseScale (NT **scaler, IT m_scaler, IT n_scaler) |
| void | EWiseMult (const SpDCCols< IT, NT > &rhs, bool exclude) |
| void | SetDifference (const SpDCCols< IT, NT > &rhs) |
| void | Transpose () |
| | Mutator version, replaces the calling object.
|
| SpDCCols< IT, NT > | TransposeConst () const |
| | Const version, doesn't touch the existing object.
|
| SpDCCols< IT, NT > * | TransposeConstPtr () const |
| void | RowSplit (int numsplits) |
| void | ColSplit (int parts, std::vector< SpDCCols< IT, NT > > &matrices) |
| void | ColSplit (int parts, std::vector< SpDCCols< IT, NT > * > &matrices) |
| void | ColSplit (std::vector< IT > &cutSizes, std::vector< SpDCCols< IT, NT > > &matrices) |
| void | ColSplit (std::vector< IT > &cutSizes, std::vector< SpDCCols< IT, NT > * > &matrices) |
| void | ColConcatenate (std::vector< SpDCCols< IT, NT > > &matrices) |
| void | ColConcatenate (std::vector< SpDCCols< IT, NT > * > &matrices) |
| void | Split (SpDCCols< IT, NT > &partA, SpDCCols< IT, NT > &partB) |
| void | Merge (SpDCCols< IT, NT > &partA, SpDCCols< IT, NT > &partB) |
| void | CreateImpl (const std::vector< IT > &essentials) |
| void | CreateImpl (IT size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples) |
| void | CreateImpl (IT *_cp, IT *_jc, IT *_ir, NT *_numx, IT _nz, IT _nzc, IT _m, IT _n) |
| Arr< IT, NT > | GetArrays () const |
| std::vector< IT > | GetEssentials () const |
| bool | isZero () const |
| IT | getnrow () const |
| IT | getncol () const |
| IT | getnnz () const |
| IT | getnzc () const |
| int | getnsplit () const |
| std::ofstream & | put (std::ofstream &outfile) const |
| std::ifstream & | get (std::ifstream &infile) |
| void | PrintInfo () const |
| void | PrintInfo (std::ofstream &out) const |
| template<typename SR> |
| int | PlusEq_AtXBt (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| template<typename SR> |
| int | PlusEq_AtXBn (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| template<typename SR> |
| int | PlusEq_AnXBt (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| template<typename SR> |
| int | PlusEq_AnXBn (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| Dcsc< IT, NT > * | GetDCSC () const |
| Dcsc< IT, NT > * | GetDCSC (int i) const |
| auto | GetInternal () const |
| auto | GetInternal (int i) const |
| | SpDCCols () |
| | SpDCCols (IT size, IT nRow, IT nCol, IT nzc) |
| | SpDCCols (const SpTuples< IT, NT > &rhs, bool transpose) |
| | SpDCCols (IT nRow, IT nCol, IT nnz1, const std::tuple< IT, IT, NT > *rhs, bool transpose) |
| | SpDCCols (const SpDCCols< IT, NT > &rhs) |
| | ~SpDCCols () |
| template<typename NNT> |
| | operator SpDCCols< IT, NNT > () const |
| | NNT: New numeric type.
|
| template<typename NIT, typename NNT> |
| | operator SpDCCols< NIT, NNT > () const |
| | NNT: New numeric type, NIT: New index type.
|
| SpDCCols< IT, NT > & | operator= (const SpDCCols< IT, NT > &rhs) |
| SpDCCols< IT, NT > & | operator+= (const SpDCCols< IT, NT > &rhs) |
| SpDCCols< IT, NT > | operator() (IT ri, IT ci) const |
| SpDCCols< IT, NT > | operator() (const std::vector< IT > &ri, const std::vector< IT > &ci) const |
| bool | operator== (const SpDCCols< IT, NT > &rhs) const |
| SpColIter | begcol () |
| SpColIter | begcol (int i) |
| SpColIter | endcol () |
| 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) |
| template<typename _UnaryOperation> |
| void | Apply (_UnaryOperation __unary_op) |
| template<typename _UnaryOperation, typename GlobalIT> |
| SpDCCols< IT, NT > * | PruneI (_UnaryOperation __unary_op, bool inPlace, GlobalIT rowOffset, GlobalIT colOffset) |
| template<typename _UnaryOperation> |
| SpDCCols< IT, NT > * | Prune (_UnaryOperation __unary_op, bool inPlace) |
| template<typename _BinaryOperation> |
| SpDCCols< IT, NT > * | PruneColumn (NT *pvals, _BinaryOperation __binary_op, bool inPlace) |
| template<typename _BinaryOperation> |
| SpDCCols< IT, NT > * | PruneColumn (IT *pinds, NT *pvals, _BinaryOperation __binary_op, bool inPlace) |
| void | PruneColumnByIndex (const std::vector< IT > &ci) |
| template<typename _BinaryOperation> |
| void | UpdateDense (NT **array, _BinaryOperation __binary_op) const |
| void | EWiseScale (NT **scaler, IT m_scaler, IT n_scaler) |
| void | EWiseMult (const SpDCCols< IT, NT > &rhs, bool exclude) |
| void | SetDifference (const SpDCCols< IT, NT > &rhs) |
| void | Transpose () |
| | Mutator version, replaces the calling object.
|
| SpDCCols< IT, NT > | TransposeConst () const |
| | Const version, doesn't touch the existing object.
|
| SpDCCols< IT, NT > * | TransposeConstPtr () const |
| void | RowSplit (int numsplits) |
| void | ColSplit (int parts, std::vector< SpDCCols< IT, NT > > &matrices) |
| void | ColSplit (int parts, std::vector< SpDCCols< IT, NT > * > &matrices) |
| void | ColSplit (std::vector< IT > &cutSizes, std::vector< SpDCCols< IT, NT > > &matrices) |
| void | ColSplit (std::vector< IT > &cutSizes, std::vector< SpDCCols< IT, NT > * > &matrices) |
| void | ColConcatenate (std::vector< SpDCCols< IT, NT > > &matrices) |
| void | ColConcatenate (std::vector< SpDCCols< IT, NT > * > &matrices) |
| void | Split (SpDCCols< IT, NT > &partA, SpDCCols< IT, NT > &partB) |
| void | Merge (SpDCCols< IT, NT > &partA, SpDCCols< IT, NT > &partB) |
| void | CreateImpl (const std::vector< IT > &essentials) |
| void | CreateImpl (IT size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples) |
| void | CreateImpl (IT *_cp, IT *_jc, IT *_ir, NT *_numx, IT _nz, IT _nzc, IT _m, IT _n) |
| Arr< IT, NT > | GetArrays () const |
| std::vector< IT > | GetEssentials () const |
| bool | isZero () const |
| IT | getnrow () const |
| IT | getncol () const |
| IT | getnnz () const |
| IT | getnzc () const |
| int | getnsplit () const |
| std::ofstream & | put (std::ofstream &outfile) const |
| std::ifstream & | get (std::ifstream &infile) |
| void | PrintInfo () const |
| void | PrintInfo (std::ofstream &out) const |
| template<typename SR> |
| int | PlusEq_AtXBt (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| template<typename SR> |
| int | PlusEq_AtXBn (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| template<typename SR> |
| int | PlusEq_AnXBt (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| template<typename SR> |
| int | PlusEq_AnXBn (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| Dcsc< IT, NT > * | GetDCSC () const |
| Dcsc< IT, NT > * | GetDCSC (int i) const |
| auto | GetInternal () const |
| auto | GetInternal (int i) const |
| | SpDCCols () |
| | SpDCCols (IT size, IT nRow, IT nCol, IT nzc) |
| | SpDCCols (const SpTuples< IT, NT > &rhs, bool transpose) |
| | SpDCCols (IT nRow, IT nCol, IT nnz1, const std::tuple< IT, IT, NT > *rhs, bool transpose) |
| | SpDCCols (const SpDCCols< IT, NT > &rhs) |
| | ~SpDCCols () |
| template<typename NNT> |
| | operator SpDCCols< IT, NNT > () const |
| | NNT: New numeric type.
|
| template<typename NIT, typename NNT> |
| | operator SpDCCols< NIT, NNT > () const |
| | NNT: New numeric type, NIT: New index type.
|
| SpDCCols< IT, NT > & | operator= (const SpDCCols< IT, NT > &rhs) |
| SpDCCols< IT, NT > & | operator+= (const SpDCCols< IT, NT > &rhs) |
| SpDCCols< IT, NT > | operator() (IT ri, IT ci) const |
| SpDCCols< IT, NT > | operator() (const std::vector< IT > &ri, const std::vector< IT > &ci) const |
| bool | operator== (const SpDCCols< IT, NT > &rhs) const |
| SpColIter | begcol () |
| SpColIter | begcol (int i) |
| SpColIter | endcol () |
| 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) |
| template<typename _UnaryOperation> |
| void | Apply (_UnaryOperation __unary_op) |
| template<typename _UnaryOperation, typename GlobalIT> |
| SpDCCols< IT, NT > * | PruneI (_UnaryOperation __unary_op, bool inPlace, GlobalIT rowOffset, GlobalIT colOffset) |
| template<typename _UnaryOperation> |
| SpDCCols< IT, NT > * | Prune (_UnaryOperation __unary_op, bool inPlace) |
| template<typename _BinaryOperation> |
| SpDCCols< IT, NT > * | PruneColumn (NT *pvals, _BinaryOperation __binary_op, bool inPlace) |
| template<typename _BinaryOperation> |
| SpDCCols< IT, NT > * | PruneColumn (IT *pinds, NT *pvals, _BinaryOperation __binary_op, bool inPlace) |
| void | PruneColumnByIndex (const std::vector< IT > &ci) |
| template<typename _BinaryOperation> |
| void | UpdateDense (NT **array, _BinaryOperation __binary_op) const |
| void | EWiseScale (NT **scaler, IT m_scaler, IT n_scaler) |
| void | EWiseMult (const SpDCCols< IT, NT > &rhs, bool exclude) |
| void | SetDifference (const SpDCCols< IT, NT > &rhs) |
| void | Transpose () |
| | Mutator version, replaces the calling object.
|
| SpDCCols< IT, NT > | TransposeConst () const |
| | Const version, doesn't touch the existing object.
|
| SpDCCols< IT, NT > * | TransposeConstPtr () const |
| void | RowSplit (int numsplits) |
| void | ColSplit (int parts, std::vector< SpDCCols< IT, NT > > &matrices) |
| void | ColSplit (int parts, std::vector< SpDCCols< IT, NT > * > &matrices) |
| void | ColSplit (std::vector< IT > &cutSizes, std::vector< SpDCCols< IT, NT > > &matrices) |
| void | ColSplit (std::vector< IT > &cutSizes, std::vector< SpDCCols< IT, NT > * > &matrices) |
| void | ColConcatenate (std::vector< SpDCCols< IT, NT > > &matrices) |
| void | ColConcatenate (std::vector< SpDCCols< IT, NT > * > &matrices) |
| void | Split (SpDCCols< IT, NT > &partA, SpDCCols< IT, NT > &partB) |
| void | Merge (SpDCCols< IT, NT > &partA, SpDCCols< IT, NT > &partB) |
| void | CreateImpl (const std::vector< IT > &essentials) |
| void | CreateImpl (IT size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples) |
| void | CreateImpl (IT *_cp, IT *_jc, IT *_ir, NT *_numx, IT _nz, IT _nzc, IT _m, IT _n) |
| Arr< IT, NT > | GetArrays () const |
| std::vector< IT > | GetEssentials () const |
| bool | isZero () const |
| IT | getnrow () const |
| IT | getncol () const |
| IT | getnnz () const |
| IT | getnzc () const |
| int | getnsplit () const |
| std::ofstream & | put (std::ofstream &outfile) const |
| std::ifstream & | get (std::ifstream &infile) |
| void | PrintInfo () const |
| void | PrintInfo (std::ofstream &out) const |
| template<typename SR> |
| int | PlusEq_AtXBt (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| template<typename SR> |
| int | PlusEq_AtXBn (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| template<typename SR> |
| int | PlusEq_AnXBt (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| template<typename SR> |
| int | PlusEq_AnXBn (const SpDCCols< IT, NT > &A, const SpDCCols< IT, NT > &B) |
| Dcsc< IT, NT > * | GetDCSC () const |
| Dcsc< IT, NT > * | GetDCSC (int i) const |
| auto | GetInternal () const |
| auto | GetInternal (int i) const |
| void | Create (const std::vector< IT > &essentials) |
| SpMat< IT, NT, SpDCCols< IT, NT > > | operator() (const std::vector< IT > &ri, const std::vector< IT > &ci) const |
| void | SpGEMM (SpMat< IT, NT, SpDCCols< IT, NT > > &A, SpMat< IT, NT, SpDCCols< IT, NT > > &B, bool isAT, bool isBT) |
| void | Split (SpMat< IT, NT, SpDCCols< IT, NT > > &partA, SpMat< IT, NT, SpDCCols< IT, NT > > &partB) |
| void | Merge (SpMat< IT, NT, SpDCCols< IT, NT > > &partA, SpMat< IT, NT, SpDCCols< IT, NT > > &partB) |
| Arr< IT, NT > | GetArrays () const |
| std::vector< IT > | GetEssentials () const |
| auto | GetInternal () const |
| int | getnsplit () const |
| void | Transpose () |
| auto | begcol () |
| auto | endcol () |
| auto | begnz (const typename X::SpColIter &ccol) |
| auto | endnz (const typename X::SpColIter &ccol) |
| bool | operator== (const SpMat< IT, NT, SpDCCols< 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 |
|
| template<class IU, class NU> |
| class | SpDCCols |
| template<class IU, class NU> |
| class | SpTuples |
| template<typename IU> |
| void | BooleanRowSplit (SpDCCols< IU, bool > &A, int numsplits) |
| template<typename IU, typename NU1, typename NU2> |
| SpDCCols< IU, typename promote_trait< NU1, NU2 >::T_promote > | EWiseMult (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool exclude) |
| template<typename N_promote, typename IU, typename NU1, typename NU2, typename _BinaryOperation> |
| SpDCCols< IU, N_promote > | EWiseApply (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, _BinaryOperation __binary_op, bool notB, const NU2 &defaultBVal) |
| template<typename RETT, typename IU, typename NU1, typename NU2, typename _BinaryOperation, typename _BinaryPredicate> |
| SpDCCols< IU, RETT > | EWiseApply (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, _BinaryOperation __binary_op, _BinaryPredicate do_op, bool allowANulls, bool allowBNulls, const NU1 &ANullVal, const NU2 &BNullVal, const bool allowIntersect) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AnXBn (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AnXBt (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AtXBn (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AtXBt (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<typename SR, typename IU, typename NU, typename RHS, typename LHS> |
| void | dcsc_gespmv (const SpDCCols< IU, NU > &A, const RHS *x, LHS *y) |
| | SpMV with dense vector.
|
| template<typename SR, typename IU, typename NU, typename RHS, typename LHS> |
| void | dcsc_gespmv_threaded (const SpDCCols< IU, NU > &A, const RHS *x, LHS *y) |
| template<typename SR, typename IU, typename NU, typename RHS, typename LHS> |
| void | dcsc_gespmv_threaded_nosplit (const SpDCCols< IU, NU > &A, const RHS *x, LHS *y) |
| | SpMV with dense vector (multithreaded version).
|
| 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) |
| template<typename IU> |
| void | BooleanRowSplit (SpDCCols< IU, bool > &A, int numsplits) |
| template<typename IU, typename NU1, typename NU2> |
| SpDCCols< IU, typename promote_trait< NU1, NU2 >::T_promote > | EWiseMult (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool exclude) |
| template<typename N_promote, typename IU, typename NU1, typename NU2, typename _BinaryOperation> |
| SpDCCols< IU, N_promote > | EWiseApply (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, _BinaryOperation __binary_op, bool notB, const NU2 &defaultBVal) |
| template<typename RETT, typename IU, typename NU1, typename NU2, typename _BinaryOperation, typename _BinaryPredicate> |
| SpDCCols< IU, RETT > | EWiseApply (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, _BinaryOperation __binary_op, _BinaryPredicate do_op, bool allowANulls, bool allowBNulls, const NU1 &ANullVal, const NU2 &BNullVal, const bool allowIntersect) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AnXBn (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AnXBt (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AtXBn (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AtXBt (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<typename SR, typename IU, typename NU, typename RHS, typename LHS> |
| void | dcsc_gespmv (const SpDCCols< IU, NU > &A, const RHS *x, LHS *y) |
| | SpMV with dense vector.
|
| template<typename SR, typename IU, typename NU, typename RHS, typename LHS> |
| void | dcsc_gespmv_threaded (const SpDCCols< IU, NU > &A, const RHS *x, LHS *y) |
| template<typename SR, typename IU, typename NU, typename RHS, typename LHS> |
| void | dcsc_gespmv_threaded_nosplit (const SpDCCols< IU, NU > &A, const RHS *x, LHS *y) |
| | SpMV with dense vector (multithreaded version).
|
| 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) |
| template<typename IU> |
| void | BooleanRowSplit (SpDCCols< IU, bool > &A, int numsplits) |
| template<typename IU, typename NU1, typename NU2> |
| SpDCCols< IU, typename promote_trait< NU1, NU2 >::T_promote > | EWiseMult (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool exclude) |
| template<typename N_promote, typename IU, typename NU1, typename NU2, typename _BinaryOperation> |
| SpDCCols< IU, N_promote > | EWiseApply (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, _BinaryOperation __binary_op, bool notB, const NU2 &defaultBVal) |
| template<typename RETT, typename IU, typename NU1, typename NU2, typename _BinaryOperation, typename _BinaryPredicate> |
| SpDCCols< IU, RETT > | EWiseApply (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, _BinaryOperation __binary_op, _BinaryPredicate do_op, bool allowANulls, bool allowBNulls, const NU1 &ANullVal, const NU2 &BNullVal, const bool allowIntersect) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AnXBn (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AnXBt (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AtXBn (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<class SR, class NUO, class IU, class NU1, class NU2> |
| SpTuples< IU, NUO > * | Tuples_AtXBt (const SpDCCols< IU, NU1 > &A, const SpDCCols< IU, NU2 > &B, bool clearA=false, bool clearB=false) |
| template<typename SR, typename IU, typename NU, typename RHS, typename LHS> |
| void | dcsc_gespmv (const SpDCCols< IU, NU > &A, const RHS *x, LHS *y) |
| | SpMV with dense vector.
|
| template<typename SR, typename IU, typename NU, typename RHS, typename LHS> |
| void | dcsc_gespmv_threaded (const SpDCCols< IU, NU > &A, const RHS *x, LHS *y) |
| template<typename SR, typename IU, typename NU, typename RHS, typename LHS> |
| void | dcsc_gespmv_threaded_nosplit (const SpDCCols< IU, NU > &A, const RHS *x, LHS *y) |
| | SpMV with dense vector (multithreaded version).
|
| 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) |
| template<class IU, class NU> |
| class | SpTuples |
| template<class IU, class NU> |
| class | SpTuples |