src/colamd/colamd.h
changeset 1 c445c931472f
     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 */