#include "matutil.h" void print_vector_float(int size, float *v) { int i; for (i = 0; i < size; i++) { printf("%6.2f ", v[i]); } printf("\n"); } void print_vector_int(int size, int *v) { int i; for (i = 0; i < size; i++) { printf("%d ", v[i]); } printf("\n"); } float **new_matrix(int m, int n) { return matrix(1, m, 1, n); } void simple_free_matrix(int m, int n, float **mat) { free_matrix(mat, 1, m, 1, n); } void print_matrix(int m, int n, float **mat) { int i, j; for (i = 1; i <= m; i++) { for (j = 1; j <= n; j++) { printf("%6.2f ", mat[i][j]); } printf("\n"); } } void copy_matrix(int m, int n, float **src, float **dst) { int i, j; for (i = 1; i <= m; i++) { for (j = 1; j <= n; j++) { dst[i][j] = src[i][j]; } } } /* for JMatrixData */ void copy_jmatdata(JMatrixData *src, JMatrixData *dst) { dst->m = src->m; dst->n = src->n; copy_matrix(src->m, src->n, src->a, dst->a); copy_matrix(src->m, 1, src->b, dst->b); } void free_jmatdata(JMatrixData *data) { simple_free_matrix(data->m, data->n, data->a); simple_free_matrix(data->m, 1, data->b); } JMatrixData *new_jmatdata(int m, int n) { JMatrixData *data = malloc(sizeof(JMatrixData)); data->m = m; data->n = n; data->a = new_matrix(data->m, data->n); data->b = new_matrix(data->m, 1); return data; }