79#define COLAMD_KNOBS 20
82#define COLAMD_STATS 20
85#define COLAMD_DENSE_ROW 0
88#define COLAMD_DENSE_COL 1
91#define COLAMD_DEFRAG_COUNT 2
94#define COLAMD_STATUS 3
103#define COLAMD_OK_BUT_JUMBLED (1)
104#define COLAMD_ERROR_A_not_present (-1)
105#define COLAMD_ERROR_p_not_present (-2)
106#define COLAMD_ERROR_nrow_negative (-3)
107#define COLAMD_ERROR_ncol_negative (-4)
108#define COLAMD_ERROR_nnz_negative (-5)
109#define COLAMD_ERROR_p0_nonzero (-6)
110#define COLAMD_ERROR_A_too_small (-7)
111#define COLAMD_ERROR_col_length_negative (-8)
112#define COLAMD_ERROR_row_index_out_of_bounds (-9)
113#define COLAMD_ERROR_out_of_memory (-10)
114#define COLAMD_ERROR_internal_error (-999)
193#define COLAMD_C(n_col) ((int) (((n_col) + 1) * sizeof (Colamd_Col) / sizeof (int)))
194#define COLAMD_R(n_row) ((int) (((n_row) + 1) * sizeof (Colamd_Row) / sizeof (int)))
196#define COLAMD_RECOMMENDED(nnz, n_row, n_col) \
198((nnz) < 0 || (n_row) < 0 || (n_col) < 0) \
202 (2 * (nnz) + COLAMD_C (n_col) + COLAMD_R (n_row) + (n_col) + ((nnz) / 5)) \
241 void * (*allocate) (size_t, size_t),
244 void (*release) (
void *)
struct Colamd_Row_struct Colamd_Row
struct Colamd_Col_struct Colamd_Col
void colamd_report(int stats[COLAMD_STATS])
Definition: colamd.c:1476
void symamd_report(int stats[COLAMD_STATS])
Definition: colamd.c:1489
int colamd_recommended(int nnz, int n_row, int n_col)
Definition: colamd.c:910
int 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 *))
Definition: colamd.c:972
void colamd_set_defaults(double knobs[COLAMD_KNOBS])
Definition: colamd.c:944
int colamd(int n_row, int n_col, int Alen, int A[], int p[], double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS])
Definition: colamd.c:1317
#define COLAMD_STATS
Definition: colamd.h:82
#define COLAMD_KNOBS
Definition: colamd.h:79
int headhash
Definition: colamd.h:143
int order
Definition: colamd.h:139
int prev
Definition: colamd.h:146
int degree_next
Definition: colamd.h:151
int start
Definition: colamd.h:126
int hash_next
Definition: colamd.h:152
union Colamd_Col_struct::@0 shared1
int score
Definition: colamd.h:138
int thickness
Definition: colamd.h:131
union Colamd_Col_struct::@2 shared3
int parent
Definition: colamd.h:133
int hash
Definition: colamd.h:145
int length
Definition: colamd.h:128
union Colamd_Col_struct::@1 shared2
union Colamd_Col_struct::@3 shared4
int mark
Definition: colamd.h:168
int degree
Definition: colamd.h:163
int start
Definition: colamd.h:159
int length
Definition: colamd.h:160
union Colamd_Row_struct::@4 shared1
int p
Definition: colamd.h:164
union Colamd_Row_struct::@5 shared2
int first_column
Definition: colamd.h:169