MCPcopy Create free account
hub / github.com/AdvancedCompiler/AdvancedCompiler / matrixmulti

Function matrixmulti

code/Chapter2/2-4.c:9–36  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7#define n 1024
8int x[n][n],y[n][n],z[n][n];
9void matrixmulti(int N, int x[n][n], int y[n][n], int z[n][n]){
10for (i = 0; i < N; i++) {
11 for (j = 0; j < N; j++) {
12 r=0;
13 for (k = 0; k < N; k++) {
14 r = r + y[i][k] * z[k][j];
15 }
16 x[i][j] = r;
17 }
18}
19int main(){
20 for (i = 0; i < n; i++)
21 {
22 for (j = 0; j < n; j++)
23 {
24 y[i][j] = rand() % 10;
25 z[i][j] = rand() % 10;
26 x[i][j] = 0;
27 }
28 }
29struct timeval starttime,endtime;
30 gettimeofday(&starttime,0);
31 matrixmulti(n, x, y, z);
32gettimeofday(&endtime,0);
33 doubletimeuse=(endtime.tv_sec-starttime.tv_sec)+(endtime.tv_usec-starttime.tv_usec)/1000000.0;
34 printf("run time = %f s\n", timeuse);
35return 0;
36}

Callers 1

mainFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected