36 template <
class IT,
class NT>
39 template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
42 template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
43 void SpMXSpV(
const Dcsc<IT,NUM> & Adcsc, int32_t mA,
const int32_t * indx,
const IVT * numx, int32_t veclen,
44 vector<int32_t> & indy, vector< OVT > & numy)
46 SpImpl<SR,IT,NUM,IVT,OVT>::SpMXSpV(Adcsc, mA, indx, numx, veclen, indy, numy);
49 template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
50 void SpMXSpV(
const Dcsc<IT,NUM> & Adcsc, int32_t mA,
const int32_t * indx,
const IVT * numx, int32_t veclen,
51 int32_t * indy, OVT * numy,
int * cnts,
int * dspls,
int p_c)
53 SpImpl<SR,IT,NUM,IVT,OVT>::SpMXSpV(Adcsc, mA, indx, numx, veclen, indy, numy, cnts, dspls,p_c);
56 template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
58 vector<int32_t> & indy, vector< OVT > & numy, int32_t offset)
60 SpImpl<SR,IT,NUM,IVT,OVT>::SpMXSpV_ForThreading(Adcsc, mA, indx, numx, veclen, indy, numy, offset);
69 template <
class SR,
class IT,
class NUM,
class IVT,
class OVT>
72 static void SpMXSpV(
const Dcsc<IT,NUM> & Adcsc, int32_t mA,
const int32_t * indx,
const IVT * numx, int32_t veclen,
73 vector<int32_t> & indy, vector< OVT > & numy);
75 static void SpMXSpV(
const Dcsc<IT,NUM> & Adcsc, int32_t mA,
const int32_t * indx,
const IVT * numx, int32_t veclen,
76 int32_t * indy, OVT * numy,
int * cnts,
int * dspls,
int p_c)
78 cout <<
"Optbuf enabled version is not yet supported with general (non-boolean) matrices" << endl;
82 vector<int32_t> & indy, vector<OVT> & numy, int32_t offset)
84 cout <<
"Threaded version is not yet supported with general (non-boolean) matrices" << endl;
90 template <
class SR,
class IT,
class IVT,
class OVT>
93 static void SpMXSpV(
const Dcsc<IT,bool> & Adcsc, int32_t mA,
const int32_t * indx,
const IVT * numx, int32_t veclen,
94 vector<int32_t> & indy, vector< OVT > & numy);
96 static void SpMXSpV(
const Dcsc<IT,bool> & Adcsc, int32_t mA,
const int32_t * indx,
const IVT * numx, int32_t veclen,
97 int32_t * indy, OVT * numy,
int * cnts,
int * dspls,
int p_c);
101 vector<int32_t> & indy, vector<OVT> & numy, int32_t offset);