template <typename t_DataType, unsigned int t_LogParEntries, typename t_IndexType = unsigned int> void symv(const unsigned int p_n, const t_DataType p_alpha, hls::stream<WideType<t_DataType,(1<<t_LogParEntries)>>& p_M, hls::stream<WideType<t_DataType,(1<<t_LogParEntries)>>& p_x, const t_DataType p_beta, hls::stream<WideType<t_DataType,(1<<t_LogParEntries)>>& p_y, hls::stream<WideType<t_DataType,(1<<t_LogParEntries)>>& p_yr)
The symv function that returns the result vector of the multiplication of a symmetric matrix and a vector y = alpha * M * x + beta * y.
Parameters:
| t_DataType | The data type of the vector entries. |
| t_LogParEntries | log2 of the number of parallelly processed entries in the input vector. |
| t_IndexType | The datatype of the index. |
| p_n | The dimension of input matrix p_M, as well as the number of entries in the input vector p_x, p_n % l_ParEntries == 0. |
| 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. |