From 173d8964c064bab5b2ab127923695b4fbdcc4dbf Mon Sep 17 00:00:00 2001 From: TheOnePath Date: Wed, 11 Sep 2024 14:24:48 +0100 Subject: [PATCH] Moved IO functions into module --- include/matio.h | 14 ++++++++++++++ src/matio.c | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 include/matio.h create mode 100644 src/matio.c diff --git a/include/matio.h b/include/matio.h new file mode 100644 index 0000000..fb908df --- /dev/null +++ b/include/matio.h @@ -0,0 +1,14 @@ +#include + +#ifndef MATIO_H +#define MATIO_H + +void +print_matrix +( gsl_matrix *matrix ); + +void +print_flatten +( gsl_matrix *matrix ); + +#endif diff --git a/src/matio.c b/src/matio.c new file mode 100644 index 0000000..1d76fdd --- /dev/null +++ b/src/matio.c @@ -0,0 +1,38 @@ +#include + +#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"); +}