#include <SpImpl.h>
List of all members.
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.
|
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: