diff --git a/matrix.c b/matrix.c index 4cb9ca7..be1a530 100644 --- a/matrix.c +++ b/matrix.c @@ -279,6 +279,14 @@ Matrix* matrix_load(char* file_string){ printf("Could not open \"%s\"", file_string); exit(1); } + Matrix * m = load_next_matrix(fptr); + fclose(fptr); + return m; + +} + +Matrix * load_next_matrix(FILE *fptr){ + char buffer[MAX_BYTES]; fgets(buffer, MAX_BYTES, fptr); @@ -321,6 +329,8 @@ Matrix* matrix_flatten(Matrix* matrix, int axis) { return result_matrix; } + + int matrix_argmax(Matrix* matrix) { // Expects a Mx1 matrix if (matrix->columns != 1){ diff --git a/matrix.h b/matrix.h index 1e88e47..cc80043 100644 --- a/matrix.h +++ b/matrix.h @@ -1,4 +1,5 @@ #pragma once +#include typedef struct { int rows, columns; @@ -15,6 +16,7 @@ void matrix_print(Matrix *matrix); Matrix* matrix_copy(Matrix *matrix); void matrix_save(Matrix* matrix, char* file_string); Matrix* matrix_load(char* file_string); +Matrix* load_next_matrix(FILE * fptr); void matrix_randomize(Matrix* matrix, int n); // don't understand the usage of the n int matrix_argmax(Matrix* matrix);