2024-09-26 14:32:20 +02:00
|
|
|
#ifndef MATRIX_H
|
|
|
|
#define MATRIX_H
|
|
|
|
|
|
|
|
#include <stdint.h>
|
|
|
|
|
2024-10-04 01:03:39 +02:00
|
|
|
void print_matrix(const uint64_t row_length,
|
|
|
|
const uint64_t column_length,
|
2024-10-03 12:48:22 +02:00
|
|
|
const uint64_t matrix[row_length][column_length]);
|
|
|
|
|
2024-10-04 01:03:39 +02:00
|
|
|
/*
|
|
|
|
First two matrices will be multiplied and
|
|
|
|
restult will be written to output_matrix.
|
|
|
|
Matrix requirements are as specified in the parameters.
|
|
|
|
Function return 0 on success and 1 on failure.
|
|
|
|
*/
|
2024-10-03 12:48:22 +02:00
|
|
|
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]);
|
2024-09-26 14:32:20 +02:00
|
|
|
|
2024-10-04 01:03:39 +02:00
|
|
|
int read_csv(char *file_name,
|
|
|
|
uint64_t row_length,
|
|
|
|
uint64_t column_length,
|
|
|
|
uint64_t output_matrix[row_length][column_length]);
|
|
|
|
|
2024-09-26 14:32:20 +02:00
|
|
|
#endif
|