#include "matrix_multiply.hpp"
template < class TransposeFormA, class TransposeFormB, int RowsA, int ColsA, int RowsB, int ColsB, int RowsC, int ColsC, typename InputType, typename OutputType, typename TRAITS = matrixMultiplyTraits<TransposeFormA, TransposeFormB, RowsA, ColsA, RowsB, ColsB, InputType, OutputType> > void matrixMultiply ( hls::stream <InputType>& matrixAStrm, hls::stream <InputType>& matrixBStrm, hls::stream <OutputType>& matrixCStrm )
matrixMultiply entry point function.
Parameters:
| TransposeFormA | Defines if the A matix is transposed before the multiplication. Valid values are: NoTranspose, Transpose, ConjugateTranspose |
| TransposeFormB | Defines if the B matix is transposed before the multiplication. |
| RowsA | Defines the number of rows in the A matrix |
| ColsA | Defines the number of columns in the A matrix |
| RowsB | Defines the number of rows in the B matrix |
| ColsB | Defines the number of columns in the B matrix |
| RowsC | Defines the number of rows in the C matrix |
| ColsC | Defines the number of columns in the C matrix |
| InputType | Input data type |
| OutputType | Output data type |
| TRAITS | Traits class |
| matrixAStrm | Stream of First input matrix |
| matrixBStrm | Stream of Second input matrix |
| matrixCStrm | Stream of AB product output matrix |