1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/src/colamd/colamd.h Mon Dec 06 13:09:21 2010 +0100
1.3 @@ -0,0 +1,69 @@
1.4 +/* colamd.h */
1.5 +
1.6 +/* Written by Andrew Makhorin <mao@gnu.org>. */
1.7 +
1.8 +#ifndef COLAMD_H
1.9 +#define COLAMD_H
1.10 +
1.11 +#define _GLPSTD_STDIO
1.12 +#include "glpenv.h"
1.13 +
1.14 +#define COLAMD_DATE "Nov 1, 2007"
1.15 +#define COLAMD_VERSION_CODE(main, sub) ((main) * 1000 + (sub))
1.16 +#define COLAMD_MAIN_VERSION 2
1.17 +#define COLAMD_SUB_VERSION 7
1.18 +#define COLAMD_SUBSUB_VERSION 1
1.19 +#define COLAMD_VERSION \
1.20 + COLAMD_VERSION_CODE(COLAMD_MAIN_VERSION, COLAMD_SUB_VERSION)
1.21 +
1.22 +#define COLAMD_KNOBS 20
1.23 +#define COLAMD_STATS 20
1.24 +#define COLAMD_DENSE_ROW 0
1.25 +#define COLAMD_DENSE_COL 1
1.26 +#define COLAMD_AGGRESSIVE 2
1.27 +#define COLAMD_DEFRAG_COUNT 2
1.28 +#define COLAMD_STATUS 3
1.29 +#define COLAMD_INFO1 4
1.30 +#define COLAMD_INFO2 5
1.31 +#define COLAMD_INFO3 6
1.32 +
1.33 +#define COLAMD_OK (0)
1.34 +#define COLAMD_OK_BUT_JUMBLED (1)
1.35 +#define COLAMD_ERROR_A_not_present (-1)
1.36 +#define COLAMD_ERROR_p_not_present (-2)
1.37 +#define COLAMD_ERROR_nrow_negative (-3)
1.38 +#define COLAMD_ERROR_ncol_negative (-4)
1.39 +#define COLAMD_ERROR_nnz_negative (-5)
1.40 +#define COLAMD_ERROR_p0_nonzero (-6)
1.41 +#define COLAMD_ERROR_A_too_small (-7)
1.42 +#define COLAMD_ERROR_col_length_negative (-8)
1.43 +#define COLAMD_ERROR_row_index_out_of_bounds (-9)
1.44 +#define COLAMD_ERROR_out_of_memory (-10)
1.45 +#define COLAMD_ERROR_internal_error (-999)
1.46 +
1.47 +#define colamd_recommended _glp_colamd_recommended
1.48 +size_t colamd_recommended(int nnz, int n_row, int n_col);
1.49 +
1.50 +#define colamd_set_defaults _glp_colamd_set_defaults
1.51 +void colamd_set_defaults(double knobs [COLAMD_KNOBS]);
1.52 +
1.53 +#define colamd _glp_colamd
1.54 +int colamd(int n_row, int n_col, int Alen, int A[], int p[],
1.55 + double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS]);
1.56 +
1.57 +#define symamd _glp_symamd
1.58 +int symamd(int n, int A[], int p[], int perm[],
1.59 + double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS],
1.60 + void *(*allocate)(size_t, size_t), void(*release)(void *));
1.61 +
1.62 +#define colamd_report _glp_colamd_report
1.63 +void colamd_report(int stats[COLAMD_STATS]);
1.64 +
1.65 +#define symamd_report _glp_symamd_report
1.66 +void symamd_report(int stats[COLAMD_STATS]);
1.67 +
1.68 +#define colamd_printf xprintf
1.69 +
1.70 +#endif
1.71 +
1.72 +/* eof */