1#ifndef FIRM_ADT_GAUSSSEIDEL_H
2#define FIRM_ADT_GAUSSSEIDEL_H
8typedef struct gs_matrix_t gs_matrix_t;
15FIRM_API gs_matrix_t *gs_new_matrix(
unsigned n_init_rows,
unsigned n_init_cols);
20FIRM_API
void gs_delete_matrix(gs_matrix_t *m);
25FIRM_API
void gs_matrix_set(gs_matrix_t *m,
unsigned row,
unsigned col,
31FIRM_API
double gs_matrix_get(
const gs_matrix_t *m,
unsigned row,
unsigned col);
38FIRM_API
double gs_matrix_gauss_seidel(
const gs_matrix_t *m,
double *x);
40FIRM_API
unsigned gs_matrix_get_n_entries(
const gs_matrix_t *m);
45FIRM_API
void gs_matrix_dump(
const gs_matrix_t *m, FILE *out);