2011-05-02 15:48:29 +08:00
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#define N 1536
|
|
|
|
float A[N][N];
|
|
|
|
float B[N][N];
|
|
|
|
float C[N][N];
|
|
|
|
|
|
|
|
void init_array()
|
|
|
|
{
|
|
|
|
int i, j;
|
|
|
|
|
2016-08-10 01:49:24 +08:00
|
|
|
for (i = 0; i < N; i++) {
|
|
|
|
for (j = 0; j < N; j++) {
|
2011-05-02 15:48:29 +08:00
|
|
|
A[i][j] = (1+(i*j)%1024)/2.0;
|
|
|
|
B[i][j] = (1+(i*j)%1024)/2.0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void print_array()
|
|
|
|
{
|
|
|
|
int i, j;
|
|
|
|
|
2016-08-10 01:49:24 +08:00
|
|
|
for (i = 0; i < N; i++) {
|
|
|
|
for (j = 0; j < N; j++) {
|
2011-05-02 15:48:29 +08:00
|
|
|
fprintf(stdout, "%lf ", C[i][j]);
|
|
|
|
if (j%80 == 79) fprintf(stdout, "\n");
|
|
|
|
}
|
|
|
|
fprintf(stdout, "\n");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
|
|
|
int i, j, k;
|
|
|
|
double t_start, t_end;
|
|
|
|
|
|
|
|
init_array();
|
|
|
|
|
2016-08-10 01:49:24 +08:00
|
|
|
for (i = 0; i < N; i++) {
|
|
|
|
for (j = 0; j < N; j++) {
|
2011-05-02 15:48:29 +08:00
|
|
|
C[i][j] = 0;
|
2016-08-10 01:49:24 +08:00
|
|
|
for (k = 0; k < N; k++)
|
2011-05-02 15:48:29 +08:00
|
|
|
C[i][j] = C[i][j] + A[i][k] * B[k][j];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef TEST
|
|
|
|
print_array();
|
|
|
|
#endif
|
|
|
|
return 0;
|
|
|
|
}
|