40template <
class IT,
class NT>
43template <
class IT,
class NT>
46template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
50template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
55 SpImpl<SR,IT,NUM,IVT,OVT>::SpMXSpV(
Adcsc,
mA,
indx, numx,
veclen,
indy,
numy);
60template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
64 SpImpl<SR,IT,NUM,IVT,OVT>::SpMXSpV(
Adcsc,
mA,
indx, numx,
veclen,
indy,
numy,
cnts, dspls,p_c);
69template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
73 SpImpl<SR,IT,NUM,IVT,OVT>::SpMXSpV_ForThreading(
Adcsc,
mA,
indx, numx,
veclen,
indy,
numy,
offset);
77template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
81 SpImpl<SR,IT,NUM,IVT,OVT>::SpMXSpV_ForThreading(
Adcsc,
mA,
indx, numx,
veclen,
indy,
numy,
offset,
localy, isthere,
nzinds);
96template <
typename SR,
typename IT,
typename NUM,
typename IVT,
typename OVT>
100template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
106template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
110 std::cout <<
"Optbuf enabled version is not yet supported with CSC matrices" << std::endl;
115template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
127template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
135template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
155template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
159 std::vector<int32_t> & indy, std::vector< OVT > & numy);
164 std::cout <<
"Optbuf enabled version is not yet supported with general (non-boolean) matrices" << std::endl;
171 std::cout <<
"Threaded version is not yet supported with general (non-boolean) matrices" << std::endl;
176 std::cout <<
"Threaded version is not yet supported with general (non-boolean) matrices" << std::endl;
183template <
class SR,
class IT,
class IVT,
class OVT>
187 std::vector<int32_t> &
indy, std::vector< OVT > &
numy);
SelectMaxSRing< bool, int64_t > SR
void SpMXSpV_Bucket(const Csc< IT, NT > &Acsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, std::vector< int32_t > &indy, std::vector< OVT > &numy, PreAllocatedSPA< OVT > &SPA)
void SpMXSpV_ForThreading(const Dcsc< IT, NUM > &Adcsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, std::vector< int32_t > &indy, std::vector< OVT > &numy, int32_t offset)
Overload #3: DCSC.
void SpMXSpV(const Dcsc< IT, NUM > &Adcsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, std::vector< int32_t > &indy, std::vector< OVT > &numy, PreAllocatedSPA< OVT > &SPA)
Overload #1: DCSC.
void SpMXSpV_HeapSort(const Csc< IT, NT > &Acsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, std::vector< int32_t > &indy, std::vector< OVT > &numy, int32_t offset)
static void SpMXSpV(const Dcsc< IT, NUM > &Adcsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, std::vector< int32_t > &indy, std::vector< OVT > &numy)
static void SpMXSpV(const Dcsc< IT, NUM > &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, NUM > &Acsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, std::vector< int32_t > &indy, std::vector< OVT > &numy, int32_t offset, std::vector< OVT > &localy, BitMap &isthere, std::vector< uint32_t > &nzinds)
static void SpMXSpV_ForThreading(const Dcsc< IT, NUM > &Adcsc, int32_t mA, const int32_t *indx, const IVT *numx, int32_t veclen, std::vector< int32_t > &indy, std::vector< OVT > &numy, int32_t offset)