COD/Q6-cache/src/matmul.h
2020-05-15 22:50:15 +03:00

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_ */