src/colamd/colamd.h
changeset 2 4c8956a7bdf4
equal deleted inserted replaced
-1:000000000000 0:ded9bd492563
       
     1 /* colamd.h */
       
     2 
       
     3 /* Written by Andrew Makhorin <mao@gnu.org>. */
       
     4 
       
     5 #ifndef COLAMD_H
       
     6 #define COLAMD_H
       
     7 
       
     8 #define _GLPSTD_STDIO
       
     9 #include "glpenv.h"
       
    10 
       
    11 #define COLAMD_DATE "Nov 1, 2007"
       
    12 #define COLAMD_VERSION_CODE(main, sub) ((main) * 1000 + (sub))
       
    13 #define COLAMD_MAIN_VERSION 2
       
    14 #define COLAMD_SUB_VERSION 7
       
    15 #define COLAMD_SUBSUB_VERSION 1
       
    16 #define COLAMD_VERSION \
       
    17         COLAMD_VERSION_CODE(COLAMD_MAIN_VERSION, COLAMD_SUB_VERSION)
       
    18 
       
    19 #define COLAMD_KNOBS 20
       
    20 #define COLAMD_STATS 20
       
    21 #define COLAMD_DENSE_ROW 0
       
    22 #define COLAMD_DENSE_COL 1
       
    23 #define COLAMD_AGGRESSIVE 2
       
    24 #define COLAMD_DEFRAG_COUNT 2
       
    25 #define COLAMD_STATUS 3
       
    26 #define COLAMD_INFO1 4
       
    27 #define COLAMD_INFO2 5
       
    28 #define COLAMD_INFO3 6
       
    29 
       
    30 #define COLAMD_OK                            (0)
       
    31 #define COLAMD_OK_BUT_JUMBLED                (1)
       
    32 #define COLAMD_ERROR_A_not_present           (-1)
       
    33 #define COLAMD_ERROR_p_not_present           (-2)
       
    34 #define COLAMD_ERROR_nrow_negative           (-3)
       
    35 #define COLAMD_ERROR_ncol_negative           (-4)
       
    36 #define COLAMD_ERROR_nnz_negative            (-5)
       
    37 #define COLAMD_ERROR_p0_nonzero              (-6)
       
    38 #define COLAMD_ERROR_A_too_small             (-7)
       
    39 #define COLAMD_ERROR_col_length_negative     (-8)
       
    40 #define COLAMD_ERROR_row_index_out_of_bounds (-9)
       
    41 #define COLAMD_ERROR_out_of_memory           (-10)
       
    42 #define COLAMD_ERROR_internal_error          (-999)
       
    43 
       
    44 #define colamd_recommended _glp_colamd_recommended
       
    45 size_t colamd_recommended(int nnz, int n_row, int n_col);
       
    46 
       
    47 #define colamd_set_defaults _glp_colamd_set_defaults
       
    48 void colamd_set_defaults(double knobs [COLAMD_KNOBS]);
       
    49 
       
    50 #define colamd _glp_colamd
       
    51 int colamd(int n_row, int n_col, int Alen, int A[], int p[],
       
    52       double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS]);
       
    53 
       
    54 #define symamd _glp_symamd
       
    55 int symamd(int n, int A[], int p[], int perm[],
       
    56       double knobs[COLAMD_KNOBS], int stats[COLAMD_STATS],
       
    57       void *(*allocate)(size_t, size_t), void(*release)(void *));
       
    58 
       
    59 #define colamd_report _glp_colamd_report
       
    60 void colamd_report(int stats[COLAMD_STATS]);
       
    61 
       
    62 #define symamd_report _glp_symamd_report
       
    63 void symamd_report(int stats[COLAMD_STATS]);
       
    64 
       
    65 #define colamd_printf xprintf
       
    66 
       
    67 #endif
       
    68 
       
    69 /* eof */