#include #include #include #include #include #include #define SEED 1234 #define SIZE 3 double random_number(); void random_matrix(double*, int, int); void zero_matrix(double*, int, int) ; void print_matrix(double*, int , int, const char*); int main() { struct timeval t1, t2; double elapsed_time; // size int m = SIZE, n = SIZE, p = SIZE; // scaling factors double alpha = 1.0, beta = 0.0; // allocation double* A = (double*) malloc(sizeof(double) * m * p); double* B = (double*) malloc(sizeof(double) * p * n); double* C = (double*) malloc(sizeof(double) * m * n); // initialize C zero_matrix(C, m, n); // initialize A, B // incorrect result ! srand(SEED); random_matrix(A, m, p); random_matrix(B, p, n); // initialize A, B // correct result /* for (int i=0; i 0 && i % n == 0) { printf("\n"); } printf("%12.5f", matrix[i]); } printf("\n"); } double random_number() { return ((double)rand() / (double)RAND_MAX); }