Moved IO functions into module

This commit is contained in:
Ethan Smith-Coss 2024-09-11 14:24:48 +01:00
parent d2a050d1da
commit 173d8964c0
Signed by: TheOnePath
GPG Key ID: 1D351CCC6D01F32B
2 changed files with 52 additions and 0 deletions

14
include/matio.h Normal file
View File

@ -0,0 +1,14 @@
#include <gsl/gsl_matrix.h>
#ifndef MATIO_H
#define MATIO_H
void
print_matrix
( gsl_matrix *matrix );
void
print_flatten
( gsl_matrix *matrix );
#endif

38
src/matio.c Normal file
View File

@ -0,0 +1,38 @@
#include <gsl/gsl_matrix.h>
#include "matio.h"
void print_matrix ( gsl_matrix *matrix ) {
printf("\n");
for ( int i = 0 ; i < matrix->size1 ; i++ ) {
for ( int j = 0 ; j < matrix->size2 ; j++ ) {
printf(" %.6e ", gsl_matrix_get(matrix, i, j));
}
printf("\n");
}
printf("\n");
}
void print_flatten ( gsl_matrix *matrix ) {
printf("\n");
if ( matrix->size1 == 1 ) {
for ( int i = 0 ; i < matrix->size2 ; i++ ) {
if ( i == matrix->size2-1 ) {
printf("%g\n", gsl_matrix_get(matrix, 0, i));
return;
}
printf("%g, ", gsl_matrix_get(matrix, 0, i));
}
printf("\n");
return;
}
for ( int i = 0 ; i < matrix->size1 ; i++ ) {
if ( i == matrix->size1-1 ) {
printf("%g\n", gsl_matrix_get(matrix, i, 0));
return;
}
printf("%g, ", gsl_matrix_get(matrix, i, 0));
}
printf("\n");
}