void mul(const device_vector<double> &x, device_vector<double> &y, double alpha = 1, bool append = false) const { double beta = append ? 1.0 : 0.0; cuda_check( cusparseDhybmv(handle, CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha, desc.get(), mat.get(), x.raw_ptr(), &beta, y.raw_ptr() ) ); }
void mul(const device_vector<float> &x, device_vector<float> &y, float alpha = 1, bool append = false) const { float beta = append ? 1.0f : 0.0f; cuda_check( cusparseShybmv(handle, CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha, desc.get(), mat.get(), x.raw_ptr(), &beta, y.raw_ptr() ) ); }