31 lines
1.1 KiB
C
31 lines
1.1 KiB
C
/*!
|
|
\file matmul.h
|
|
\brief Matrix multiplication implementation.
|
|
|
|
\author Nikos Pitsianis
|
|
\author Dimitris Floros
|
|
\author Christos Choutouridis 8997 <cchoutou@ece.auth.gr>
|
|
\date 2020-05-05
|
|
*/
|
|
#ifndef SRC_MATMUL_H_
|
|
#define SRC_MATMUL_H_
|
|
|
|
#include <stdlib.h>
|
|
|
|
#define MAX_ITER 10
|
|
#define sub2ind(i,j,n) (j) + (i)*(n)
|
|
|
|
//! Function pointer type to matrix multiplication back-end.
|
|
typedef void (*mMult_ft)(float * const C, float const * const A, float const * const B, int const n);
|
|
|
|
void matrixMult_ijk(float * const C, float const * const A, float const * const B, int const n);
|
|
void matrixMult_ikj(float * const C, float const * const A, float const * const B, int const n);
|
|
void matrixMult_jik(float * const C, float const * const A, float const * const B, int const n);
|
|
void matrixMult_jki(float * const C, float const * const A, float const * const B, int const n);
|
|
void matrixMult_kij(float * const C, float const * const A, float const * const B, int const n);
|
|
void matrixMult_kji(float * const C, float const * const A, float const * const B, int const n);
|
|
|
|
float* matrixInit(int const n);
|
|
|
|
#endif /* SRC_MATMUL_H_ */
|