#include #include /* * 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); }