114 #define COLAMD_KNOBS 20
117 #define COLAMD_STATS 20
120 #define COLAMD_DENSE_ROW 0
123 #define COLAMD_DENSE_COL 1
126 #define COLAMD_DEFRAG_COUNT 2
129 #define COLAMD_STATUS 3
132 #define COLAMD_INFO1 4
133 #define COLAMD_INFO2 5
134 #define COLAMD_INFO3 6
137 #define COLAMD_OK (0)
138 #define COLAMD_OK_BUT_JUMBLED (1)
139 #define COLAMD_ERROR_A_not_present (-1)
140 #define COLAMD_ERROR_p_not_present (-2)
141 #define COLAMD_ERROR_nrow_negative (-3)
142 #define COLAMD_ERROR_ncol_negative (-4)
143 #define COLAMD_ERROR_nnz_negative (-5)
144 #define COLAMD_ERROR_p0_nonzero (-6)
145 #define COLAMD_ERROR_A_too_small (-7)
146 #define COLAMD_ERROR_col_length_negative (-8)
147 #define COLAMD_ERROR_row_index_out_of_bounds (-9)
148 #define COLAMD_ERROR_out_of_memory (-10)
149 #define COLAMD_ERROR_internal_error (-999)
225 #define COLAMD_C(n_col) (((n_col) + 1) * sizeof (mbdyn_Colamd_Col) / sizeof (int))
226 #define COLAMD_R(n_row) (((n_row) + 1) * sizeof (mbdyn_Colamd_Row) / sizeof (int))
228 #define COLAMD_RECOMMENDED(nnz, n_row, n_col) \
230 ((nnz) < 0 || (n_row) < 0 || (n_col) < 0) \
234 (2 * (nnz) + COLAMD_C (n_col) + COLAMD_R (n_row) + (n_col) + ((nnz) / 5)) \
273 void * (*allocate) (size_t, size_t),
276 void (*release) (
void *)
void mbdyn_symamd_report(integer stats[20])
union mbdyn_Colamd_Col::@1 shared2
struct mbdyn_Colamd_Col mbdyn_Colamd_Col
integer mbdyn_symamd(integer n, integer A[], integer p[], integer perm[], double knobs[20], integer stats[20], void *(*allocate)(size_t, size_t), void(*release)(void *))
union mbdyn_Colamd_Row::@4 shared1
union mbdyn_Colamd_Col::@0 shared1
union mbdyn_Colamd_Row::@5 shared2
integer mbdyn_colamd_recommended(integer nnz, integer n_row, integer n_col)
void mbdyn_colamd_report(integer stats[20])
union mbdyn_Colamd_Col::@3 shared4
struct mbdyn_Colamd_Row mbdyn_Colamd_Row
integer mbdyn_colamd(integer n_row, integer n_col, integer Alen, integer A[], integer p[], double knobs[20], integer stats[20])
void mbdyn_colamd_set_defaults(double knobs[20])
union mbdyn_Colamd_Col::@2 shared3