#include "matrix.h" #include #include const int gLeft[MATRIX_SIZE][MATRIX_SIZE]; const int gRight[MATRIX_SIZE][MATRIX_SIZE]; void set_left(int matrix[MATRIX_SIZE][MATRIX_SIZE]) { memcpy(gLeft, matrix, MATRIX_SIZE * MATRIX_SIZE * sizeof(int)); return; } void set_right(int matrix[MATRIX_SIZE][MATRIX_SIZE]) { memcpy(gRight, matrix, MATRIX_SIZE * MATRIX_SIZE * sizeof(int)); return; } int matrix_multiply(int row, int col) { int sum = 0; int i = 0; for(i = 0; i < MATRIX_SIZE; ++i) { sum += (gLeft[row][i] * gRight[i][col]); } if (((row + col) % 10) == 0) { sleep(rand() % 3); } return sum; } void print_matrix(int matrix[MATRIX_SIZE][MATRIX_SIZE]) { int row, col; for(row = 0; row < MATRIX_SIZE; ++row) { for(col = 0; col < MATRIX_SIZE; ++col) { printf("%d,", matrix[row][col]); } printf("\n"); } return; }