libFirm
gaussseidel.h
1 #ifndef MATRIX_H_
2 #define MATRIX_H_
3 
4 #include <stdio.h>
5 
6 #include "../begin.h"
7 
8 typedef struct gs_matrix_t gs_matrix_t;
9 
15 gs_matrix_t *gs_new_matrix(int n_init_rows, int n_init_cols);
16 
20 void gs_delete_matrix(gs_matrix_t *m);
21 
22 void gs_matrix_assure_row_capacity(gs_matrix_t *m, int row, int min_capacity);
23 
24 void gs_matrix_trim_row_capacities(gs_matrix_t *m);
25 
26 void gs_matrix_delete_zero_entries(gs_matrix_t *m);
27 
32 void gs_matrix_set(gs_matrix_t *m, int row, int col, double val);
33 
37 double gs_matrix_get(const gs_matrix_t *m, int row, int col);
38 
45 double gs_matrix_gauss_seidel(const gs_matrix_t *m, double *x, int n);
46 
47 unsigned gs_matrix_get_n_entries(const gs_matrix_t *m);
48 
52 void gs_matrix_dump(const gs_matrix_t *m, int a, int b, FILE *out);
53 
54 int gs_matrix_get_sizeof_allocated_memory(const gs_matrix_t *m);
55 
56 void gs_matrix_export(const gs_matrix_t *m, double *nw, int size);
57 
58 #include "../end.h"
59 
60 #endif