template <typename t_DataType, unsigned int t_ParEntries, unsigned int t_MaxRows, typename t_IndexType = unsigned int, typename t_MacType = t_DataType> void gbmv(const unsigned int p_m, const unsigned int p_n, const unsigned int p_kl, const unsigned int p_ku, const t_DataType p_alpha, hls::stream<WideType<t_DataType, t_ParEntries>>& p_M, hls::stream<WideType<t_DataType, t_ParEntries>>& p_x, const t_DataType p_beta, hls::stream<WideType<t_DataType, t_ParEntries>>& p_y, hls::stream<WideType<t_DataType, t_ParEntries>>& p_yr)
The gbmv function performs general banded matrix-vector multiplication matrix and a vector y = alpha * M * x + beta * y.
Parameters:
t_DataType | The data type of the vector entries. |
t_ParEntries | The number of parallelly processed entries in the input vector. |
t_MaxRows | The maximum size of buffers for output vector. |
t_IndexType | The datatype of the index. |
t_MacType | The datatype of the output stream. |
p_m | The number of rows of input matrix p_M. |
p_alpha | scalar alpha |
p_M | The input stream of packed Matrix entries. |
p_x | The input stream of packed vector entries. |
p_beta | Scalar beta. |
p_y | The output vector. |