fix hw3 some changes
This commit is contained in:
67
hws/hw3/matutil.c
Normal file
67
hws/hw3/matutil.c
Normal file
@@ -0,0 +1,67 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user