template <typename t_DataType, unsigned int t_LogParEntries, typename t_IndexType = unsigned int> void dot(unsigned int p_n, hls::stream<WideType<t_DataType,(1<<t_LogParEntries)>>& p_x, hls::stream<WideType<t_DataType,(1<<t_LogParEntries)>>& p_y, t_DataType& p_res)
dot function that returns the dot product of vector x and 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 number of entries in the input vector p_x, p_n % l_ParEntries == 0 |
p_x | the input stream of packed vector entries |
p_res | the dot product of x and y |