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 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_symamd_report(int stats [COLAMD_STATS])
UF_long CHOLMOD() nnz(cholmod_sparse *A, cholmod_common *Common)
EXTERN int(* amesos_colamd_printf)(const char *,...)
void amesos_colamd_set_defaults(double knobs [COLAMD_KNOBS])
void amesos_colamd_report(int stats [COLAMD_STATS])
int amesos_colamd(int n_row, int n_col, int Alen, int A [], int p [], double knobs [COLAMD_KNOBS], int stats [COLAMD_STATS])
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 *))
void amesos_colamd_l_report(UF_long stats [COLAMD_STATS])
size_t amesos_colamd_l_recommended(UF_long nnz, UF_long n_row, UF_long n_col)
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_symamd_l_report(UF_long stats [COLAMD_STATS])