#include #include #include #include #include #include void print_matrix(const uint64_t row_length, const uint64_t column_length, const uint64_t matrix[row_length][column_length]) { for (uint64_t column_index=0; column_index < column_length; column_index++) { for (uint64_t row_index=0; row_index < row_length; row_index++) { printf("%lu ", matrix[row_index][column_index]); } printf("\n"); } } int matrix_multiply_basic(const uint64_t row_length1, const uint64_t column_length1, const uint64_t matrix1[row_length1][column_length1], const uint64_t row_length2, const uint64_t column_length2, const uint64_t matrix2[row_length2][column_length2], uint64_t output_matrix[row_length1][column_length2]) { if (row_length1 != column_length2) { return 1; } uint64_t sum; for (uint64_t i = 0; i < row_length1; i++) { for(uint64_t j = 0; j < column_length2; j++) { sum = 0; for (uint64_t k = 0; k