#include <string.h> void matmul_naive (const double *a, const double *b, double *c, const int m, const int n, const int p, const int lda, const int ldb, const int ldc); void matmul (const int loops, const int ldim, const int m, const double *a, const double *b, double *c); void matmul (const int loops, const int ldim, const int m, const double *a, const double *b, double *c) { unsigned long mul = (unsigned long) m; for (int l = 0; l < loops; l++) { memset (c, 0, sizeof (double) * mul * mul); matmul_naive (a, b, c, m, m, m, ldim, ldim, ldim); } }