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)
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[])
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[])
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)
void csymamd_l_report(SuiteSparse_long stats[CCOLAMD_STATS])
void ccolamd_set_defaults(double knobs[CCOLAMD_KNOBS])
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_report(SuiteSparse_long stats[CCOLAMD_STATS])
const mpreal root(const mpreal &x, unsigned long int k, mp_rnd_t r=mpreal::get_default_rnd())
void ccolamd_l_set_defaults(double knobs[CCOLAMD_KNOBS])
void ccolamd_postorder(int nn, int Parent[], int Npiv[], int Fsize[], int Order[], int Child[], int Sibling[], int Stack[], int Front_cols[], int cmember[])
void ccolamd_fsize(int nn, int MaxFsize[], int Fnrows[], int Fncols[], int Parent[], int Npiv[])
void ccolamd_report(int stats[CCOLAMD_STATS])
void ccolamd_l_apply_order(SuiteSparse_long Front[], const SuiteSparse_long Order[], SuiteSparse_long Temp[], SuiteSparse_long nn, SuiteSparse_long nfr)
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_apply_order(int Front[], const int Order[], int Temp[], int nn, int nfr)
idx_t idx_t idx_t idx_t idx_t * perm
int ccolamd_post_tree(int root, int k, int Child[], const int Sibling[], int Order[], int Stack[])
void ccolamd_l_fsize(SuiteSparse_long nn, SuiteSparse_long MaxFsize[], SuiteSparse_long Fnrows[], SuiteSparse_long Fncols[], SuiteSparse_long Parent[], SuiteSparse_long Npiv[])
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[])
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[])
size_t ccolamd_l_recommended(SuiteSparse_long nnz, SuiteSparse_long n_row, SuiteSparse_long n_col)
void csymamd_report(int stats[CCOLAMD_STATS])