#include <dcsc.h>
Public Types | |
typedef NT | value_type |
typedef IT | index_type |
Public Member Functions | |
Dcsc () | |
Dcsc (IT nnz, IT nzcol) | |
Dcsc (IT nnz, const std::vector< IT > &indices, bool isRow) | |
Create a logical matrix from (row/column) indices vector. More... | |
Dcsc (StackEntry< NT, std::pair< IT, IT > > *multstack, IT mdim, IT ndim, IT nnz) | |
Dcsc (const Dcsc< IT, NT > &rhs) | |
Dcsc< IT, NT > & | operator= (const Dcsc< IT, NT > &rhs) |
Dcsc< IT, NT > & | operator+= (const Dcsc< IT, NT > &rhs) |
~Dcsc () | |
bool | operator== (const Dcsc< IT, NT > &rhs) |
template<typename NNT > | |
operator Dcsc< IT, NNT > () const | |
template<typename NIT , typename NNT > | |
operator Dcsc< NIT, NNT > () const | |
void | EWiseMult (const Dcsc< IT, NT > &rhs, bool exclude) |
void | EWiseScale (NT **scaler) |
template<typename _UnaryOperation > | |
void | Apply (_UnaryOperation __unary_op) |
template<typename _UnaryOperation , typename GlobalIT > | |
Dcsc< IT, NT > * | PruneI (_UnaryOperation __unary_op, bool inPlace, GlobalIT rowOffset, GlobalIT colOffset) |
template<typename _UnaryOperation > | |
Dcsc< IT, NT > * | Prune (_UnaryOperation __unary_op, bool inPlace) |
template<typename _BinaryOperation > | |
Dcsc< IT, NT > * | PruneColumn (NT *pvals, _BinaryOperation __binary_op, bool inPlace) |
template<typename _BinaryOperation > | |
Dcsc< IT, NT > * | PruneColumn (IT *pinds, NT *pvals, _BinaryOperation __binary_op, bool inPlace) |
IT | AuxIndex (const IT colind, bool &found, IT *aux, IT csize) const |
void | RowSplit (int numsplits) |
void | ColSplit (std::vector< Dcsc< IT, NT > * > &parts, std::vector< IT > &cuts) |
void | ColConcatenate (std::vector< Dcsc< IT, NT > * > &parts, std::vector< IT > &offsets) |
void | Split (Dcsc< IT, NT > *&A, Dcsc< IT, NT > *&B, IT cut) |
void | Merge (const Dcsc< IT, NT > *Adcsc, const Dcsc< IT, NT > *B, IT cut) |
IT | ConstructAux (IT ndim, IT *&aux) const |
void | Resize (IT nzcnew, IT nznew) |
template<class VT > | |
void | FillColInds (const VT *colnums, IT nind, std::vector< std::pair< IT, IT > > &colinds, IT *aux, IT csize) const |
Dcsc< IT, NT > & | AddAndAssign (StackEntry< NT, std::pair< IT, IT > > *multstack, IT mdim, IT ndim, IT nnz) |
template<typename _BinaryOperation > | |
void | UpdateDense (NT **array, _BinaryOperation __binary_op) const |
Dcsc (IT *_cp, IT *_jc, IT *_ir, NT *_numx, IT _nz, IT _nzc, bool _memowned=true) | |
wrap object around pre-allocated arrays (possibly RDMA registered) More... | |
Public Attributes | |
IT * | cp |
The master array, size nzc+1 (keeps column pointers) More... | |
IT * | jc |
col indices, size nzc More... | |
IT * | ir |
row indices, size nz More... | |
NT * | numx |
generic values, size nz More... | |
IT | nz |
IT | nzc |
number of columns with at least one non-zero in them More... | |
bool | memowned |
Friends | |
template<typename IU , typename NU1 , typename NU2 > | |
Dcsc< IU, typename promote_trait< NU1, NU2 >::T_promote > | EWiseMult (const Dcsc< IU, NU1 > &A, const Dcsc< IU, NU2 > *B, bool exclude) |
typedef IT combblas::Dcsc< IT, NT >::index_type |
typedef NT combblas::Dcsc< IT, NT >::value_type |
combblas::Dcsc< IT, NT >::Dcsc | ( | ) |
combblas::Dcsc< IT, NT >::Dcsc | ( | IT | nnz, |
IT | nzcol | ||
) |
combblas::Dcsc< IT, NT >::Dcsc | ( | IT | nnz, |
const std::vector< IT > & | indices, | ||
bool | isRow | ||
) |
combblas::Dcsc< IT, NT >::Dcsc | ( | StackEntry< NT, std::pair< IT, IT > > * | multstack, |
IT | mdim, | ||
IT | ndim, | ||
IT | nnz | ||
) |
Creates DCSC structure from an array of StackEntry's
combblas::Dcsc< IT, NT >::Dcsc | ( | const Dcsc< IT, NT > & | rhs | ) |
combblas::Dcsc< IT, NT >::~Dcsc | ( | ) |
|
inline |
Dcsc< IT, NT > & combblas::Dcsc< IT, NT >::AddAndAssign | ( | StackEntry< NT, std::pair< IT, IT > > * | multstack, |
IT | mdim, | ||
IT | ndim, | ||
IT | nnz | ||
) |
|
inline |
IT combblas::Dcsc< IT, NT >::AuxIndex | ( | const IT | colind, |
bool & | found, | ||
IT * | aux, | ||
IT | csize | ||
) | const |
void combblas::Dcsc< IT, NT >::ColConcatenate | ( | std::vector< Dcsc< IT, NT > * > & | parts, |
std::vector< IT > & | offsets | ||
) |
void combblas::Dcsc< IT, NT >::ColSplit | ( | std::vector< Dcsc< IT, NT > * > & | parts, |
std::vector< IT > & | cuts | ||
) |
IT combblas::Dcsc< IT, NT >::ConstructAux | ( | IT | ndim, |
IT *& | aux | ||
) | const |
void combblas::Dcsc< IT, NT >::EWiseMult | ( | const Dcsc< IT, NT > & | rhs, |
bool | exclude | ||
) |
void combblas::Dcsc< IT, NT >::EWiseScale | ( | NT ** | scaler | ) |
void combblas::Dcsc< IT, NT >::FillColInds | ( | const VT * | colnums, |
IT | nind, | ||
std::vector< std::pair< IT, IT > > & | colinds, | ||
IT * | aux, | ||
IT | csize | ||
) | const |
void combblas::Dcsc< IT, NT >::Merge | ( | const Dcsc< IT, NT > * | Adcsc, |
const Dcsc< IT, NT > * | B, | ||
IT | cut | ||
) |
combblas::Dcsc< IT, NT >::operator Dcsc< IT, NNT > | ( | ) | const |
combblas::Dcsc< IT, NT >::operator Dcsc< NIT, NNT > | ( | ) | const |
Dcsc< IT, NT > & combblas::Dcsc< IT, NT >::operator+= | ( | const Dcsc< IT, NT > & | rhs | ) |
Dcsc< IT, NT > & combblas::Dcsc< IT, NT >::operator= | ( | const Dcsc< IT, NT > & | rhs | ) |
bool combblas::Dcsc< IT, NT >::operator== | ( | const Dcsc< IT, NT > & | rhs | ) |
Dcsc< IT, NT > * combblas::Dcsc< IT, NT >::Prune | ( | _UnaryOperation | __unary_op, |
bool | inPlace | ||
) |
Dcsc< IT, NT > * combblas::Dcsc< IT, NT >::PruneColumn | ( | NT * | pvals, |
_BinaryOperation | __binary_op, | ||
bool | inPlace | ||
) |
Dcsc< IT, NT > * combblas::Dcsc< IT, NT >::PruneColumn | ( | IT * | pinds, |
NT * | pvals, | ||
_BinaryOperation | __binary_op, | ||
bool | inPlace | ||
) |
Dcsc< IT, NT > * combblas::Dcsc< IT, NT >::PruneI | ( | _UnaryOperation | __unary_op, |
bool | inPlace, | ||
GlobalIT | rowOffset, | ||
GlobalIT | colOffset | ||
) |
void combblas::Dcsc< IT, NT >::Resize | ( | IT | nzcnew, |
IT | nznew | ||
) |
void combblas::Dcsc< IT, NT >::RowSplit | ( | int | numsplits | ) |
void combblas::Dcsc< IT, NT >::Split | ( | Dcsc< IT, NT > *& | A, |
Dcsc< IT, NT > *& | B, | ||
IT | cut | ||
) |
void combblas::Dcsc< IT, NT >::UpdateDense | ( | NT ** | array, |
_BinaryOperation | __binary_op | ||
) | const |
|
friend |
IT* combblas::Dcsc< IT, NT >::cp |
IT* combblas::Dcsc< IT, NT >::ir |
IT* combblas::Dcsc< IT, NT >::jc |
bool combblas::Dcsc< IT, NT >::memowned |
NT* combblas::Dcsc< IT, NT >::numx |
IT combblas::Dcsc< IT, NT >::nz |
IT combblas::Dcsc< IT, NT >::nzc |