44 #define CCOLAMD_DATE "May 4, 2016" 45 #define CCOLAMD_VERSION_CODE(main,sub) ((main) * 1000 + (sub)) 46 #define CCOLAMD_MAIN_VERSION 2 47 #define CCOLAMD_SUB_VERSION 9 48 #define CCOLAMD_SUBSUB_VERSION 6 49 #define CCOLAMD_VERSION \ 50 CCOLAMD_VERSION_CODE(CCOLAMD_MAIN_VERSION,CCOLAMD_SUB_VERSION) 57 #define CCOLAMD_KNOBS 20 60 #define CCOLAMD_STATS 20 63 #define CCOLAMD_DENSE_ROW 0 66 #define CCOLAMD_DENSE_COL 1 69 #define CCOLAMD_AGGRESSIVE 2 75 #define CCOLAMD_DEFRAG_COUNT 2 78 #define CCOLAMD_STATUS 3 81 #define CCOLAMD_INFO1 4 82 #define CCOLAMD_INFO2 5 83 #define CCOLAMD_INFO3 6 86 #define CCOLAMD_EMPTY_ROW 7 88 #define CCOLAMD_EMPTY_COL 8 90 #define CCOLAMD_NEWLY_EMPTY_ROW 9 92 #define CCOLAMD_NEWLY_EMPTY_COL 10 95 #define CCOLAMD_OK (0) 96 #define CCOLAMD_OK_BUT_JUMBLED (1) 97 #define CCOLAMD_ERROR_A_not_present (-1) 98 #define CCOLAMD_ERROR_p_not_present (-2) 99 #define CCOLAMD_ERROR_nrow_negative (-3) 100 #define CCOLAMD_ERROR_ncol_negative (-4) 101 #define CCOLAMD_ERROR_nnz_negative (-5) 102 #define CCOLAMD_ERROR_p0_nonzero (-6) 103 #define CCOLAMD_ERROR_A_too_small (-7) 104 #define CCOLAMD_ERROR_col_length_negative (-8) 105 #define CCOLAMD_ERROR_row_index_out_of_bounds (-9) 106 #define CCOLAMD_ERROR_out_of_memory (-10) 107 #define CCOLAMD_ERROR_invalid_cmember (-11) 108 #define CCOLAMD_ERROR_internal_error (-999) 236 int Front_npivcol [ ],
239 int Front_parent [ ],
337 const int Sibling [ ],
size_t ccolamd_recommended(int nnz, int n_row, int n_col)
void ccolamd_l_set_defaults(double knobs [CCOLAMD_KNOBS])
void ccolamd_set_defaults(double knobs [CCOLAMD_KNOBS])
int ccolamd_post_tree(int root, int k, int Child [], const int Sibling [], int Order [], int Stack [])
void ccolamd_fsize(int nn, int MaxFsize [], int Fnrows [], int Fncols [], int Parent [], int Npiv [])
int ccolamd2(int n_row, int n_col, int Alen, int A [], int p [], double knobs [CCOLAMD_KNOBS], int stats [CCOLAMD_STATS], int Front_npivcol [], int Front_nrows [], int Front_ncols [], int Front_parent [], int Front_cols [], int *p_nfr, int InFront [], int cmember [])
void ccolamd_l_report(SuiteSparse_long stats [CCOLAMD_STATS])
void ccolamd_l_fsize(SuiteSparse_long nn, SuiteSparse_long MaxFsize [], SuiteSparse_long Fnrows [], SuiteSparse_long Fncols [], SuiteSparse_long Parent [], SuiteSparse_long Npiv [])
void csymamd_report(int stats [CCOLAMD_STATS])
void csymamd_l_report(SuiteSparse_long stats [CCOLAMD_STATS])
SuiteSparse_long ccolamd_l(SuiteSparse_long n_row, SuiteSparse_long n_col, SuiteSparse_long Alen, SuiteSparse_long A [], SuiteSparse_long p [], double knobs [CCOLAMD_KNOBS], SuiteSparse_long stats [CCOLAMD_STATS], SuiteSparse_long cmember [])
void ccolamd_report(int stats [CCOLAMD_STATS])
SuiteSparse_long ccolamd2_l(SuiteSparse_long n_row, SuiteSparse_long n_col, SuiteSparse_long Alen, SuiteSparse_long A [], SuiteSparse_long p [], double knobs [CCOLAMD_KNOBS], SuiteSparse_long stats [CCOLAMD_STATS], SuiteSparse_long Front_npivcol [], SuiteSparse_long Front_nrows [], SuiteSparse_long Front_ncols [], SuiteSparse_long Front_parent [], SuiteSparse_long Front_cols [], SuiteSparse_long *p_nfr, SuiteSparse_long InFront [], SuiteSparse_long cmember [])
idx_t idx_t idx_t idx_t idx_t * perm
void ccolamd_postorder(int nn, int Parent [], int Npiv [], int Fsize [], int Order [], int Child [], int Sibling [], int Stack [], int Front_cols [], int cmember [])
SuiteSparse_long csymamd_l(SuiteSparse_long n, SuiteSparse_long A [], SuiteSparse_long p [], SuiteSparse_long perm [], double knobs [CCOLAMD_KNOBS], SuiteSparse_long stats [CCOLAMD_STATS], void *(*allocate)(size_t, size_t), void(*release)(void *), SuiteSparse_long cmember [], SuiteSparse_long stype)
void ccolamd_l_postorder(SuiteSparse_long nn, SuiteSparse_long Parent [], SuiteSparse_long Npiv [], SuiteSparse_long Fsize [], SuiteSparse_long Order [], SuiteSparse_long Child [], SuiteSparse_long Sibling [], SuiteSparse_long Stack [], SuiteSparse_long Front_cols [], SuiteSparse_long cmember [])
void ccolamd_l_apply_order(SuiteSparse_long Front [], const SuiteSparse_long Order [], SuiteSparse_long Temp [], SuiteSparse_long nn, SuiteSparse_long nfr)
int csymamd(int n, int A [], int p [], int perm [], double knobs [CCOLAMD_KNOBS], int stats [CCOLAMD_STATS], void *(*allocate)(size_t, size_t), void(*release)(void *), int cmember [], int stype)
SuiteSparse_long ccolamd_l_post_tree(SuiteSparse_long root, SuiteSparse_long k, SuiteSparse_long Child [], const SuiteSparse_long Sibling [], SuiteSparse_long Order [], SuiteSparse_long Stack [])
int ccolamd(int n_row, int n_col, int Alen, int A [], int p [], double knobs [CCOLAMD_KNOBS], int stats [CCOLAMD_STATS], int cmember [])
void ccolamd_apply_order(int Front [], const int Order [], int Temp [], int nn, int nfr)
size_t ccolamd_l_recommended(SuiteSparse_long nnz, SuiteSparse_long n_row, SuiteSparse_long n_col)