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

#include <SpTuples.h>

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

Public Member Functions

 SpTuples (int64_t size, IT nRow, IT nCol)
 
 SpTuples (int64_t size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples, bool sorted=false, bool isOpNew=false)
 
 SpTuples (int64_t maxnnz, IT nRow, IT nCol, std::vector< IT > &edges, bool removeloops=true)
 
 SpTuples (int64_t size, IT nRow, IT nCol, StackEntry< NT, std::pair< IT, IT > > *&multstack)
 
 SpTuples (const SpTuples< IT, NT > &rhs)
 
 SpTuples (const SpDCCols< IT, NT > &rhs)
 Constructor for converting SpDCCols matrix -> SpTuples.
 
 SpTuples (const SpCCols< IT, NT > &rhs)
 
 ~SpTuples ()
 
SpTuples< IT, NT > & operator= (const SpTuples< IT, NT > &rhs)
 
ITrowindex (IT i)
 
ITcolindex (IT i)
 
NTnumvalue (IT i)
 
IT rowindex (IT i) const
 
IT colindex (IT i) const
 
NT numvalue (IT i) const
 
template<typename BINFUNC >
void RemoveDuplicates (BINFUNC BinOp)
 
void SortRowBased ()
 
void SortColBased ()
 
IT AddLoops (NT loopval, bool replaceExisting=false)
 
IT AddLoops (std::vector< NT > loopvals, bool replaceExisting=false)
 
IT RemoveLoops ()
 
std::pair< IT, ITRowLimits ()
 
std::pair< IT, ITColLimits ()
 
std::tuple< IT, IT, NTfront ()
 
std::tuple< IT, IT, NTback ()
 
std::ofstream & putstream (std::ofstream &outfile) const
 
std::ofstream & put (std::ofstream &outfile) const
 
std::ifstream & getstream (std::ifstream &infile)
 
std::ifstream & get (std::ifstream &infile)
 
bool isZero () const
 
IT getnrow () const
 
IT getncol () const
 
int64_t getnnz () const
 
void PrintInfo ()
 
 SpTuples (int64_t size, IT nRow, IT nCol)
 
 SpTuples (int64_t size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples, bool sorted=false, bool isOpNew=false)
 
 SpTuples (int64_t maxnnz, IT nRow, IT nCol, std::vector< IT > &edges, bool removeloops=true)
 
 SpTuples (int64_t size, IT nRow, IT nCol, StackEntry< NT, std::pair< IT, IT > > *&multstack)
 
 SpTuples (const SpTuples< IT, NT > &rhs)
 
 SpTuples (const SpDCCols< IT, NT > &rhs)
 
 SpTuples (const SpCCols< IT, NT > &rhs)
 
 ~SpTuples ()
 
SpTuples< IT, NT > & operator= (const SpTuples< IT, NT > &rhs)
 
ITrowindex (IT i)
 
ITcolindex (IT i)
 
NTnumvalue (IT i)
 
IT rowindex (IT i) const
 
IT colindex (IT i) const
 
NT numvalue (IT i) const
 
template<typename BINFUNC >
void RemoveDuplicates (BINFUNC BinOp)
 
void SortRowBased ()
 
void SortColBased ()
 
IT AddLoops (NT loopval, bool replaceExisting=false)
 
IT AddLoops (std::vector< NT > loopvals, bool replaceExisting=false)
 
IT RemoveLoops ()
 
std::pair< IT, ITRowLimits ()
 
std::pair< IT, ITColLimits ()
 
std::tuple< IT, IT, NTfront ()
 
std::tuple< IT, IT, NTback ()
 
std::ofstream & putstream (std::ofstream &outfile) const
 
std::ofstream & put (std::ofstream &outfile) const
 
std::ifstream & getstream (std::ifstream &infile)
 
std::ifstream & get (std::ifstream &infile)
 
bool isZero () const
 
IT getnrow () const
 
IT getncol () const
 
int64_t getnnz () const
 
void PrintInfo ()
 
 SpTuples (int64_t size, IT nRow, IT nCol)
 
 SpTuples (int64_t size, IT nRow, IT nCol, std::tuple< IT, IT, NT > *mytuples, bool sorted=false, bool isOpNew=false)
 
 SpTuples (int64_t maxnnz, IT nRow, IT nCol, std::vector< IT > &edges, bool removeloops=true)
 
 SpTuples (int64_t size, IT nRow, IT nCol, StackEntry< NT, std::pair< IT, IT > > *&multstack)
 
 SpTuples (const SpTuples< IT, NT > &rhs)
 
 SpTuples (const SpDCCols< IT, NT > &rhs)
 
 SpTuples (const SpCCols< IT, NT > &rhs)
 
 ~SpTuples ()
 
SpTuples< IT, NT > & operator= (const SpTuples< IT, NT > &rhs)
 
ITrowindex (IT i)
 
ITcolindex (IT i)
 
NTnumvalue (IT i)
 
IT rowindex (IT i) const
 
IT colindex (IT i) const
 
NT numvalue (IT i) const
 
template<typename BINFUNC >
void RemoveDuplicates (BINFUNC BinOp)
 
void SortRowBased ()
 
void SortColBased ()
 
IT AddLoops (NT loopval, bool replaceExisting=false)
 
IT AddLoops (std::vector< NT > loopvals, bool replaceExisting=false)
 
IT RemoveLoops ()
 
std::pair< IT, ITRowLimits ()
 
std::pair< IT, ITColLimits ()
 
std::tuple< IT, IT, NTfront ()
 
std::tuple< IT, IT, NTback ()
 
std::ofstream & putstream (std::ofstream &outfile) const
 
std::ofstream & put (std::ofstream &outfile) const
 
std::ifstream & getstream (std::ifstream &infile)
 
std::ifstream & get (std::ifstream &infile)
 
bool isZero () const
 
IT getnrow () const
 
IT getncol () const
 
int64_t getnnz () const
 
void PrintInfo ()
 
- Public Member Functions inherited from combblas::SpMat< IT, NT, SpTuples< 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, SpTuples< IT, NT > > operator() (const std::vector< IT > &ri, const std::vector< IT > &ci) const
 
SpMat< IT, NT, SpTuples< IT, NT > > operator() (const std::vector< IT > &ri, const std::vector< IT > &ci) const
 
SpMat< IT, NT, SpTuples< IT, NT > > operator() (const std::vector< IT > &ri, const std::vector< IT > &ci) const
 
void SpGEMM (SpMat< IT, NT, SpTuples< IT, NT > > &A, SpMat< IT, NT, SpTuples< IT, NT > > &B, bool isAT, bool isBT)
 
void SpGEMM (SpMat< IT, NT, SpTuples< IT, NT > > &A, SpMat< IT, NT, SpTuples< IT, NT > > &B, bool isAT, bool isBT)
 
void SpGEMM (SpMat< IT, NT, SpTuples< IT, NT > > &A, SpMat< IT, NT, SpTuples< IT, NT > > &B, bool isAT, bool isBT)
 
void Split (SpMat< IT, NT, SpTuples< IT, NT > > &partA, SpMat< IT, NT, SpTuples< IT, NT > > &partB)
 
void Split (SpMat< IT, NT, SpTuples< IT, NT > > &partA, SpMat< IT, NT, SpTuples< IT, NT > > &partB)
 
void Split (SpMat< IT, NT, SpTuples< IT, NT > > &partA, SpMat< IT, NT, SpTuples< IT, NT > > &partB)
 
void Merge (SpMat< IT, NT, SpTuples< IT, NT > > &partA, SpMat< IT, NT, SpTuples< IT, NT > > &partB)
 
void Merge (SpMat< IT, NT, SpTuples< IT, NT > > &partA, SpMat< IT, NT, SpTuples< IT, NT > > &partB)
 
void Merge (SpMat< IT, NT, SpTuples< IT, NT > > &partA, SpMat< IT, NT, SpTuples< 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, SpTuples< IT, NT > > &rhs) const
 
bool operator== (const SpMat< IT, NT, SpTuples< IT, NT > > &rhs) const
 
bool operator== (const SpMat< IT, NT, SpTuples< 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
 

Public Attributes

std::tuple< IT, IT, NT > * tuples
 
bool tuples_deleted = false
 

Friends

template<class IU , class NU >
class SpDCCols
 
template<class IU , class NU >
class SpCCols
 
template<typename SR , typename IU , typename NU >
SpTuples< IU, NUMergeAll (const std::vector< SpTuples< IU, NU > * > &ArrSpTups, IU mstar, IU nstar, bool delarrs)
 
template<typename SR , typename IU , typename NU >
SpTuples< IU, NU > * MergeAllRec (const std::vector< SpTuples< IU, NU > * > &ArrSpTups, IU mstar, IU nstar)
 
template<typename SR , typename IU , typename NU >
SpTuples< IU, NUMergeAll (const std::vector< SpTuples< IU, NU > * > &ArrSpTups, IU mstar, IU nstar, bool delarrs)
 
template<typename SR , typename IU , typename NU >
SpTuples< IU, NU > * MergeAllRec (const std::vector< SpTuples< IU, NU > * > &ArrSpTups, IU mstar, IU nstar)
 
template<typename SR , typename IU , typename NU >
SpTuples< IU, NUMergeAll (const std::vector< SpTuples< IU, NU > * > &ArrSpTups, IU mstar, IU nstar, bool delarrs)
 
template<typename SR , typename IU , typename NU >
SpTuples< IU, NU > * MergeAllRec (const std::vector< SpTuples< IU, NU > * > &ArrSpTups, IU mstar, IU nstar)
 
template<class IU , class NU >
class SpDCCols
 
template<class IU , class NU >
class SpCCols
 
template<class IU , class NU >
class SpDCCols
 
template<class IU , class NU >
class SpCCols
 

Detailed Description

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

Triplets are represented using the boost::tuple class of the Boost library Number of entries are 64-bit addressible, but each entry is only <class IT> addressible Therefore, size is int64_t but nrows/ncols (representing range of first two entries in tuple) is of type IT

Remarks
Indices start from 0 in this class
Sorted with respect to columns (Column-sorted triples)

Definition at line 65 of file SpTuples.h.

Constructor & Destructor Documentation

◆ SpTuples() [1/21]

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

Definition at line 37 of file SpTuples.cpp.

◆ SpTuples() [2/21]

template<class IT , class NT >
combblas::SpTuples< IT, NT >::SpTuples ( int64_t  size,
IT  nRow,
IT  nCol,
std::tuple< IT, IT, NT > *  mytuples,
bool  sorted = false,
bool  isOpNew = false 
)

Definition at line 52 of file SpTuples.cpp.

◆ SpTuples() [3/21]

template<class IT , class NT >
combblas::SpTuples< IT, NT >::SpTuples ( int64_t  maxnnz,
IT  nRow,
IT  nCol,
std::vector< IT > &  edges,
bool  removeloops = true 
)

Generate a SpTuples object from an edge list

Parameters
[in,out]edgesedge list that might contain duplicate edges. freed upon return Semantics differ depending on the object created: NT=bool: duplicates are ignored NT='countable' (such as short,int): duplicated as summed to keep count

Definition at line 70 of file SpTuples.cpp.

◆ SpTuples() [4/21]

template<class IT , class NT >
combblas::SpTuples< IT, NT >::SpTuples ( int64_t  size,
IT  nRow,
IT  nCol,
StackEntry< NT, std::pair< IT, IT > > *&  multstack 
)

Generate a SpTuples object from StackEntry array, then delete that array

Parameters
[in]multstack{value-key pairs where keys are pair<col_ind, row_ind> sorted lexicographically}
Remarks
Since input is column sorted, the tuples are automatically generated in that way too

Definition at line 132 of file SpTuples.cpp.

◆ SpTuples() [5/21]

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

Hint1: copy constructor (constructs a new object. i.e. this is NEVER called on an existing object) Hint2: Base's default constructor is called under the covers Normally Base's copy constructor should be invoked but it doesn't matter here as Base has no data members

Definition at line 169 of file SpTuples.cpp.

◆ SpTuples() [6/21]

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

Constructor for converting SpDCCols matrix -> SpTuples.

Definition at line 181 of file SpTuples.cpp.

◆ SpTuples() [7/21]

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

Definition at line 193 of file SpTuples.cpp.

◆ ~SpTuples() [1/3]

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

Definition at line 151 of file SpTuples.cpp.

◆ SpTuples() [8/21]

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

◆ SpTuples() [9/21]

template<class IT , class NT >
combblas::SpTuples< IT, NT >::SpTuples ( int64_t  size,
IT  nRow,
IT  nCol,
std::tuple< IT, IT, NT > *  mytuples,
bool  sorted = false,
bool  isOpNew = false 
)

◆ SpTuples() [10/21]

template<class IT , class NT >
combblas::SpTuples< IT, NT >::SpTuples ( int64_t  maxnnz,
IT  nRow,
IT  nCol,
std::vector< IT > &  edges,
bool  removeloops = true 
)

◆ SpTuples() [11/21]

template<class IT , class NT >
combblas::SpTuples< IT, NT >::SpTuples ( int64_t  size,
IT  nRow,
IT  nCol,
StackEntry< NT, std::pair< IT, IT > > *&  multstack 
)

◆ SpTuples() [12/21]

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

◆ SpTuples() [13/21]

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

◆ SpTuples() [14/21]

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

◆ ~SpTuples() [2/3]

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

◆ SpTuples() [15/21]

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

◆ SpTuples() [16/21]

template<class IT , class NT >
combblas::SpTuples< IT, NT >::SpTuples ( int64_t  size,
IT  nRow,
IT  nCol,
std::tuple< IT, IT, NT > *  mytuples,
bool  sorted = false,
bool  isOpNew = false 
)

◆ SpTuples() [17/21]

template<class IT , class NT >
combblas::SpTuples< IT, NT >::SpTuples ( int64_t  maxnnz,
IT  nRow,
IT  nCol,
std::vector< IT > &  edges,
bool  removeloops = true 
)

◆ SpTuples() [18/21]

template<class IT , class NT >
combblas::SpTuples< IT, NT >::SpTuples ( int64_t  size,
IT  nRow,
IT  nCol,
StackEntry< NT, std::pair< IT, IT > > *&  multstack 
)

◆ SpTuples() [19/21]

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

◆ SpTuples() [20/21]

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

◆ SpTuples() [21/21]

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

◆ ~SpTuples() [3/3]

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

Member Function Documentation

◆ AddLoops() [1/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::AddLoops ( NT  loopval,
bool  replaceExisting = false 
)
inline
Precondition
{should only be called on diagonal processors (others will add non-loop nonzeros)}
{both the implementation and its semantics is meaningless for non-square matrices}

Definition at line 113 of file SpTuples.h.

◆ AddLoops() [2/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::AddLoops ( NT  loopval,
bool  replaceExisting = false 
)
inline
Precondition
{should only be called on diagonal processors (others will add non-loop nonzeros)}
{both the implementation and its semantics is meaningless for non-square matrices}

Definition at line 113 of file SpTuples.h.

◆ AddLoops() [3/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::AddLoops ( NT  loopval,
bool  replaceExisting = false 
)
inline
Precondition
{should only be called on diagonal processors (others will add non-loop nonzeros)}
{both the implementation and its semantics is meaningless for non-square matrices}

Definition at line 113 of file SpTuples.h.

◆ AddLoops() [4/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::AddLoops ( std::vector< NT loopvals,
bool  replaceExisting = false 
)
inline
Precondition
{should only be called on diagonal processors (others will add non-loop nonzeros)}
{both the implementation and its semantics is meaningless for non-square matrices}

Definition at line 160 of file SpTuples.h.

◆ AddLoops() [5/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::AddLoops ( std::vector< NT loopvals,
bool  replaceExisting = false 
)
inline
Precondition
{should only be called on diagonal processors (others will add non-loop nonzeros)}
{both the implementation and its semantics is meaningless for non-square matrices}

Definition at line 160 of file SpTuples.h.

◆ AddLoops() [6/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::AddLoops ( std::vector< NT loopvals,
bool  replaceExisting = false 
)
inline
Precondition
{should only be called on diagonal processors (others will add non-loop nonzeros)}
{both the implementation and its semantics is meaningless for non-square matrices}

Definition at line 160 of file SpTuples.h.

◆ back() [1/3]

template<class IT , class NT >
std::tuple< IT, IT, NT > combblas::SpTuples< IT, NT >::back ( )
inline

Definition at line 255 of file SpTuples.h.

◆ back() [2/3]

template<class IT , class NT >
std::tuple< IT, IT, NT > combblas::SpTuples< IT, NT >::back ( )
inline

Definition at line 255 of file SpTuples.h.

◆ back() [3/3]

template<class IT , class NT >
std::tuple< IT, IT, NT > combblas::SpTuples< IT, NT >::back ( )
inline

Definition at line 255 of file SpTuples.h.

◆ colindex() [1/6]

template<class IT , class NT >
IT & combblas::SpTuples< IT, NT >::colindex ( IT  i)
inline

Definition at line 81 of file SpTuples.h.

◆ colindex() [2/6]

template<class IT , class NT >
IT & combblas::SpTuples< IT, NT >::colindex ( IT  i)
inline

Definition at line 81 of file SpTuples.h.

◆ colindex() [3/6]

template<class IT , class NT >
IT & combblas::SpTuples< IT, NT >::colindex ( IT  i)
inline

Definition at line 81 of file SpTuples.h.

◆ colindex() [4/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::colindex ( IT  i) const
inline

Definition at line 85 of file SpTuples.h.

◆ colindex() [5/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::colindex ( IT  i) const
inline

Definition at line 85 of file SpTuples.h.

◆ colindex() [6/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::colindex ( IT  i) const
inline

Definition at line 85 of file SpTuples.h.

◆ ColLimits() [1/3]

template<class IT , class NT >
std::pair< IT, IT > combblas::SpTuples< IT, NT >::ColLimits ( )
inline

Definition at line 242 of file SpTuples.h.

◆ ColLimits() [2/3]

template<class IT , class NT >
std::pair< IT, IT > combblas::SpTuples< IT, NT >::ColLimits ( )
inline

Definition at line 242 of file SpTuples.h.

◆ ColLimits() [3/3]

template<class IT , class NT >
std::pair< IT, IT > combblas::SpTuples< IT, NT >::ColLimits ( )
inline

Definition at line 242 of file SpTuples.h.

◆ front() [1/3]

template<class IT , class NT >
std::tuple< IT, IT, NT > combblas::SpTuples< IT, NT >::front ( )
inline

Definition at line 254 of file SpTuples.h.

◆ front() [2/3]

template<class IT , class NT >
std::tuple< IT, IT, NT > combblas::SpTuples< IT, NT >::front ( )
inline

Definition at line 254 of file SpTuples.h.

◆ front() [3/3]

template<class IT , class NT >
std::tuple< IT, IT, NT > combblas::SpTuples< IT, NT >::front ( )
inline

Definition at line 254 of file SpTuples.h.

◆ get() [1/3]

template<class IT , class NT >
std::ifstream & combblas::SpTuples< IT, NT >::get ( std::ifstream &  infile)
inline

Definition at line 269 of file SpTuples.h.

◆ get() [2/3]

template<class IT , class NT >
std::ifstream & combblas::SpTuples< IT, NT >::get ( std::ifstream &  infile)
inline

Definition at line 269 of file SpTuples.h.

◆ get() [3/3]

template<class IT , class NT >
std::ifstream & combblas::SpTuples< IT, NT >::get ( std::ifstream &  infile)
inline

Definition at line 269 of file SpTuples.h.

◆ getncol() [1/3]

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

Definition at line 274 of file SpTuples.h.

◆ getncol() [2/3]

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

Definition at line 274 of file SpTuples.h.

◆ getncol() [3/3]

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

Definition at line 274 of file SpTuples.h.

◆ getnnz() [1/3]

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

Definition at line 275 of file SpTuples.h.

◆ getnnz() [2/3]

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

Definition at line 275 of file SpTuples.h.

◆ getnnz() [3/3]

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

Definition at line 275 of file SpTuples.h.

◆ getnrow() [1/3]

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

Definition at line 273 of file SpTuples.h.

◆ getnrow() [2/3]

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

Definition at line 273 of file SpTuples.h.

◆ getnrow() [3/3]

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

Definition at line 273 of file SpTuples.h.

◆ getstream() [1/3]

template<class IT , class NT >
std::ifstream & combblas::SpTuples< IT, NT >::getstream ( std::ifstream &  infile)

Loads a triplet matrix from infile

Remarks
Assumes matlab type indexing for the input (i.e. indices start from 1)

Definition at line 305 of file SpTuples.cpp.

◆ getstream() [2/3]

template<class IT , class NT >
std::ifstream & combblas::SpTuples< IT, NT >::getstream ( std::ifstream &  infile)

◆ getstream() [3/3]

template<class IT , class NT >
std::ifstream & combblas::SpTuples< IT, NT >::getstream ( std::ifstream &  infile)

◆ isZero() [1/3]

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

Definition at line 272 of file SpTuples.h.

◆ isZero() [2/3]

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

Definition at line 272 of file SpTuples.h.

◆ isZero() [3/3]

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

Definition at line 272 of file SpTuples.h.

◆ numvalue() [1/6]

template<class IT , class NT >
NT & combblas::SpTuples< IT, NT >::numvalue ( IT  i)
inline

Definition at line 82 of file SpTuples.h.

◆ numvalue() [2/6]

template<class IT , class NT >
NT & combblas::SpTuples< IT, NT >::numvalue ( IT  i)
inline

Definition at line 82 of file SpTuples.h.

◆ numvalue() [3/6]

template<class IT , class NT >
NT & combblas::SpTuples< IT, NT >::numvalue ( IT  i)
inline

Definition at line 82 of file SpTuples.h.

◆ numvalue() [4/6]

template<class IT , class NT >
NT combblas::SpTuples< IT, NT >::numvalue ( IT  i) const
inline

Definition at line 86 of file SpTuples.h.

◆ numvalue() [5/6]

template<class IT , class NT >
NT combblas::SpTuples< IT, NT >::numvalue ( IT  i) const
inline

Definition at line 86 of file SpTuples.h.

◆ numvalue() [6/6]

template<class IT , class NT >
NT combblas::SpTuples< IT, NT >::numvalue ( IT  i) const
inline

Definition at line 86 of file SpTuples.h.

◆ operator=() [1/3]

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

Definition at line 237 of file SpTuples.cpp.

◆ operator=() [2/3]

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

◆ operator=() [3/3]

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

◆ PrintInfo() [1/3]

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

Definition at line 348 of file SpTuples.cpp.

◆ PrintInfo() [2/3]

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

◆ PrintInfo() [3/3]

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

◆ put() [1/3]

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

Definition at line 265 of file SpTuples.h.

◆ put() [2/3]

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

Definition at line 265 of file SpTuples.h.

◆ put() [3/3]

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

Definition at line 265 of file SpTuples.h.

◆ putstream() [1/3]

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

Output to a triplets file

Remarks
Uses matlab type indexing for the output (i.e. indices start from 1)

Definition at line 336 of file SpTuples.cpp.

◆ putstream() [2/3]

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

◆ putstream() [3/3]

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

◆ RemoveDuplicates() [1/3]

template<class IT , class NT >
template<typename BINFUNC >
void combblas::SpTuples< IT, NT >::RemoveDuplicates ( BINFUNC  BinOp)
Precondition
{The object is either column-sorted or row-sorted, either way the identical entries will be consecutive}

Definition at line 271 of file SpTuples.cpp.

◆ RemoveDuplicates() [2/3]

template<class IT , class NT >
template<typename BINFUNC >
void combblas::SpTuples< IT, NT >::RemoveDuplicates ( BINFUNC  BinOp)

◆ RemoveDuplicates() [3/3]

template<class IT , class NT >
template<typename BINFUNC >
void combblas::SpTuples< IT, NT >::RemoveDuplicates ( BINFUNC  BinOp)

◆ RemoveLoops() [1/3]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::RemoveLoops ( )
inline
Precondition
{should only be called on diagonal processors (others will remove non-loop nonzeros)}

Definition at line 203 of file SpTuples.h.

◆ RemoveLoops() [2/3]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::RemoveLoops ( )
inline
Precondition
{should only be called on diagonal processors (others will remove non-loop nonzeros)}

Definition at line 203 of file SpTuples.h.

◆ RemoveLoops() [3/3]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::RemoveLoops ( )
inline
Precondition
{should only be called on diagonal processors (others will remove non-loop nonzeros)}

Definition at line 203 of file SpTuples.h.

◆ rowindex() [1/6]

template<class IT , class NT >
IT & combblas::SpTuples< IT, NT >::rowindex ( IT  i)
inline

Definition at line 80 of file SpTuples.h.

◆ rowindex() [2/6]

template<class IT , class NT >
IT & combblas::SpTuples< IT, NT >::rowindex ( IT  i)
inline

Definition at line 80 of file SpTuples.h.

◆ rowindex() [3/6]

template<class IT , class NT >
IT & combblas::SpTuples< IT, NT >::rowindex ( IT  i)
inline

Definition at line 80 of file SpTuples.h.

◆ rowindex() [4/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::rowindex ( IT  i) const
inline

Definition at line 84 of file SpTuples.h.

◆ rowindex() [5/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::rowindex ( IT  i) const
inline

Definition at line 84 of file SpTuples.h.

◆ rowindex() [6/6]

template<class IT , class NT >
IT combblas::SpTuples< IT, NT >::rowindex ( IT  i) const
inline

Definition at line 84 of file SpTuples.h.

◆ RowLimits() [1/3]

template<class IT , class NT >
std::pair< IT, IT > combblas::SpTuples< IT, NT >::RowLimits ( )
inline

Definition at line 230 of file SpTuples.h.

◆ RowLimits() [2/3]

template<class IT , class NT >
std::pair< IT, IT > combblas::SpTuples< IT, NT >::RowLimits ( )
inline

Definition at line 230 of file SpTuples.h.

◆ RowLimits() [3/3]

template<class IT , class NT >
std::pair< IT, IT > combblas::SpTuples< IT, NT >::RowLimits ( )
inline

Definition at line 230 of file SpTuples.h.

◆ SortColBased() [1/3]

template<class IT , class NT >
void combblas::SpTuples< IT, NT >::SortColBased ( )
inline

Definition at line 102 of file SpTuples.h.

◆ SortColBased() [2/3]

template<class IT , class NT >
void combblas::SpTuples< IT, NT >::SortColBased ( )
inline

Definition at line 102 of file SpTuples.h.

◆ SortColBased() [3/3]

template<class IT , class NT >
void combblas::SpTuples< IT, NT >::SortColBased ( )
inline

Definition at line 102 of file SpTuples.h.

◆ SortRowBased() [1/3]

template<class IT , class NT >
void combblas::SpTuples< IT, NT >::SortRowBased ( )
inline

Definition at line 92 of file SpTuples.h.

◆ SortRowBased() [2/3]

template<class IT , class NT >
void combblas::SpTuples< IT, NT >::SortRowBased ( )
inline

Definition at line 92 of file SpTuples.h.

◆ SortRowBased() [3/3]

template<class IT , class NT >
void combblas::SpTuples< IT, NT >::SortRowBased ( )
inline

Definition at line 92 of file SpTuples.h.

Friends And Related Symbol Documentation

◆ MergeAll [1/3]

template<class IT , class NT >
template<typename SR , typename IU , typename NU >
SpTuples< IU, NU > MergeAll ( const std::vector< SpTuples< IU, NU > * > &  ArrSpTups,
IU  mstar = 0,
IU  nstar = 0,
bool  delarrs = false 
)
friend

Definition at line 660 of file Friends.h.

◆ MergeAll [2/3]

template<class IT , class NT >
template<typename SR , typename IU , typename NU >
SpTuples< IU, NU > MergeAll ( const std::vector< SpTuples< IU, NU > * > &  ArrSpTups,
IU  mstar = 0,
IU  nstar = 0,
bool  delarrs = false 
)
friend

Definition at line 660 of file Friends.h.

◆ MergeAll [3/3]

template<class IT , class NT >
template<typename SR , typename IU , typename NU >
SpTuples< IU, NU > MergeAll ( const std::vector< SpTuples< IU, NU > * > &  ArrSpTups,
IU  mstar = 0,
IU  nstar = 0,
bool  delarrs = false 
)
friend

Definition at line 660 of file Friends.h.

◆ MergeAllRec [1/3]

template<class IT , class NT >
template<typename SR , typename IU , typename NU >
SpTuples< IU, NU > * MergeAllRec ( const std::vector< SpTuples< IU, NU > * > &  ArrSpTups,
IU  mstar,
IU  nstar 
)
friend

◆ MergeAllRec [2/3]

template<class IT , class NT >
template<typename SR , typename IU , typename NU >
SpTuples< IU, NU > * MergeAllRec ( const std::vector< SpTuples< IU, NU > * > &  ArrSpTups,
IU  mstar,
IU  nstar 
)
friend

◆ MergeAllRec [3/3]

template<class IT , class NT >
template<typename SR , typename IU , typename NU >
SpTuples< IU, NU > * MergeAllRec ( const std::vector< SpTuples< IU, NU > * > &  ArrSpTups,
IU  mstar,
IU  nstar 
)
friend

◆ SpCCols [1/3]

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

Definition at line 296 of file SpTuples.h.

◆ SpCCols [2/3]

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

Definition at line 296 of file SpTuples.h.

◆ SpCCols [3/3]

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

Definition at line 296 of file SpTuples.h.

◆ SpDCCols [1/3]

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

Definition at line 293 of file SpTuples.h.

◆ SpDCCols [2/3]

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

Definition at line 293 of file SpTuples.h.

◆ SpDCCols [3/3]

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

Definition at line 293 of file SpTuples.h.

Member Data Documentation

◆ tuples

template<class IT , class NT >
std::tuple< IT, IT, NT > * combblas::SpTuples< IT, NT >::tuples

Definition at line 278 of file SpTuples.h.

◆ tuples_deleted

template<class IT , class NT >
bool combblas::SpTuples< IT, NT >::tuples_deleted = false

Definition at line 279 of file SpTuples.h.


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