graphprogram/matrix.h

35 lines
1.2 KiB
C

#ifndef MATRIX_H
#define MATRIX_H
#include <stdint.h>
void print_matrix(const uint64_t row_length,
const uint64_t column_length,
const uint64_t matrix[row_length][column_length]);
/*
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.
*/
int gemm_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]);
int read_csv(char *file_name,
uint64_t row_length,
uint64_t column_length,
uint64_t output_matrix[row_length][column_length]);
void copy(const uint64_t row_length,
const uint64_t column_length,
const uint64_t input_matrix[row_length][column_length],
uint64_t output_matrix[row_length][column_length]);
#endif