COMBINATORIAL_BLAS  1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Static Public Member Functions | List of all members
SpImpl< SR, IT, bool, IVT, OVT > Struct Template Reference

#include <SpImpl.h>

Static Public Member Functions

static void SpMXSpV (const Dcsc< IT, bool > &Adcsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, vector< int32_t > &indy, vector< OVT > &numy)
 
static void SpMXSpV (const Dcsc< IT, bool > &Adcsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, int32_t *indy, OVT *numy, int *cnts, int *dspls, int p_c)
 
static void SpMXSpV_ForThreading (const Dcsc< IT, bool > &Adcsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, vector< int32_t > &indy, vector< OVT > &numy, int32_t offset)
 Dcsc and vector index types do not need to match. More...
 

Detailed Description

template<class SR, class IT, class IVT, class OVT>
struct SpImpl< SR, IT, bool, IVT, OVT >

Definition at line 91 of file SpImpl.h.

Member Function Documentation

template<class SR , class IT , class IVT , class OVT >
void SpImpl< SR, IT, bool, IVT, OVT >::SpMXSpV ( const Dcsc< IT, bool > &  Adcsc,
int32_t  mA,
const int32_t *  indx,
const IVT *  numx,
int32_t  veclen,
vector< int32_t > &  indy,
vector< OVT > &  numy 
)
static

One of the two versions of SpMXSpV with on boolean matrix [uses only Semiring::add()] This version is likely to be more memory efficient than the other one (the one that uses preallocated memory buffers) Because here we don't use a dense accumulation vector but a heap. It will probably be slower though.

Definition at line 163 of file SpImpl.cpp.

template<typename SR , typename IT , typename IVT , class OVT >
void SpImpl< SR, IT, bool, IVT, OVT >::SpMXSpV ( const Dcsc< IT, bool > &  Adcsc,
int32_t  mA,
const int32_t *  indx,
const IVT *  numx,
int32_t  veclen,
int32_t *  indy,
OVT *  numy,
int *  cnts,
int *  dspls,
int  p_c 
)
static
Parameters
[in,out]indy,numy,cnts{preallocated arrays to be filled}
[in]dspls{displacements to preallocated indy,numy buffers} This version determines the receiving column neighbor and adjust the indices to the receiver's local index If IVT and OVT are different, then OVT should allow implicit conversion from IVT

Definition at line 218 of file SpImpl.cpp.

template<typename SR , typename IT , typename IVT , typename OVT >
void SpImpl< SR, IT, bool, IVT, OVT >::SpMXSpV_ForThreading ( const Dcsc< IT, bool > &  Adcsc,
int32_t  mA,
const int32_t *  indx,
const IVT *  numx,
int32_t  veclen,
vector< int32_t > &  indy,
vector< OVT > &  numy,
int32_t  offset 
)
static

Dcsc and vector index types do not need to match.

Definition at line 274 of file SpImpl.cpp.


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