src/colamd/colamd.h
author Alpar Juttner <alpar@cs.elte.hu>
Mon, 06 Dec 2010 13:09:21 +0100
changeset 1 c445c931472f
permissions -rw-r--r--
Import glpk-4.45

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