JacobiHPC/utils/utils.c

59 lines
1.0 KiB
C
Raw Normal View History

#include <stdio.h>
#include <stdlib.h>
2016-11-13 11:06:05 +01:00
/*
* Create a matrix stored in a single array.
*/
double *create_sa_matrix(int rows, int cols) {
double *x;
x = (double *) malloc(rows * cols * sizeof(double));
return x;
}
/*
* Destroy a single array matrix.
*/
void destroy_sa_matrix(double *x) {
free(x);
}
/*
* Get the index for the single array matrix
* that correspond to the given row and column.
*/
int sa_index(int cols, int r, int c) {
return r * cols + c;
}
double **create_matrix(int rows, int cols) {
int i;
double **x;
x = (double **) malloc(rows * sizeof(double));
for (i = 0; i < rows; i++) {
x[i] = (double *) malloc(cols * sizeof(double));
}
return x;
}
void destroy_matrix(double **x, int rows) {
int i;
for (i = 0; i < rows; i++) {
free(x[i]);
}
free(x);
}
void print_matrix(double **x, int rows, int cols) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%f\t", x[i][j]);
}
printf("\n");
}
fflush(stdout);
}