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

Function matrixmulti

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

Source from the content-addressed store, hash-verified

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

Callers 1

mainFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected