48 #ifndef AMESOS_COLAMD_H
49 #define AMESOS_COLAMD_H
84 #define COLAMD_DATE "May 31, 2007"
85 #define COLAMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
86 #define COLAMD_MAIN_VERSION 2
87 #define COLAMD_SUB_VERSION 7
88 #define COLAMD_SUBSUB_VERSION 0
89 #define COLAMD_VERSION \
90 COLAMD_VERSION_CODE(COLAMD_MAIN_VERSION,COLAMD_SUB_VERSION)
97 #define COLAMD_KNOBS 20
100 #define COLAMD_STATS 20
103 #define COLAMD_DENSE_ROW 0
106 #define COLAMD_DENSE_COL 1
109 #define COLAMD_AGGRESSIVE 2
112 #define COLAMD_DEFRAG_COUNT 2
115 #define COLAMD_STATUS 3
118 #define COLAMD_INFO1 4
119 #define COLAMD_INFO2 5
120 #define COLAMD_INFO3 6
123 #define COLAMD_OK (0)
124 #define COLAMD_OK_BUT_JUMBLED (1)
125 #define COLAMD_ERROR_A_not_present (-1)
126 #define COLAMD_ERROR_p_not_present (-2)
127 #define COLAMD_ERROR_nrow_negative (-3)
128 #define COLAMD_ERROR_ncol_negative (-4)
129 #define COLAMD_ERROR_nnz_negative (-5)
130 #define COLAMD_ERROR_p0_nonzero (-6)
131 #define COLAMD_ERROR_A_too_small (-7)
132 #define COLAMD_ERROR_col_length_negative (-8)
133 #define COLAMD_ERROR_row_index_out_of_bounds (-9)
134 #define COLAMD_ERROR_out_of_memory (-10)
135 #define COLAMD_ERROR_internal_error (-999)
201 void * (*allocate) (size_t, size_t),
204 void (*release) (
void *)
217 void * (*allocate) (size_t, size_t),
220 void (*release) (
void *)
246 #define EXTERN extern
UF_long CHOLMOD() nnz(cholmod_sparse *A, cholmod_common *Common)
void amesos_symamd_l_report(UF_long stats[COLAMD_STATS])
UF_long amesos_colamd_l(UF_long n_row, UF_long n_col, UF_long Alen, UF_long A[], UF_long p[], double knobs[COLAMD_KNOBS], UF_long stats[COLAMD_STATS])
void amesos_colamd_report(int stats[COLAMD_STATS])
void amesos_colamd_l_report(UF_long stats[COLAMD_STATS])
void amesos_symamd_report(int stats[COLAMD_STATS])
size_t amesos_colamd_l_recommended(UF_long nnz, UF_long n_row, UF_long n_col)
UF_long amesos_symamd_l(UF_long n, UF_long A[], UF_long p[], UF_long perm[], double knobs[COLAMD_KNOBS], UF_long stats[COLAMD_STATS], void *(*allocate)(size_t, size_t), void(*release)(void *))
EXTERN int(* amesos_colamd_printf)(const char *,...)
int amesos_colamd(int n_row, int n_col, int Alen, int A[], int p[], double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS])
void amesos_colamd_l_set_defaults(double knobs[COLAMD_KNOBS])
size_t amesos_colamd_recommended(int nnz, int n_row, int n_col)
int amesos_symamd(int n, int A[], int p[], int perm[], double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS], void *(*allocate)(size_t, size_t), void(*release)(void *))
void amesos_colamd_set_defaults(double knobs[COLAMD_KNOBS])