1 /* amd.h */
2 
3 /* Written by Andrew Makhorin <mao@gnu.org>. */
4 
5 #ifndef GLPAMD_H
6 #define GLPAMD_H
7 
8 #define AMD_DATE "May 31, 2007"
9 #define AMD_VERSION_CODE(main, sub) ((main) * 1000 + (sub))
10 #define AMD_MAIN_VERSION 2
11 #define AMD_SUB_VERSION 2
12 #define AMD_SUBSUB_VERSION 0
13 #define AMD_VERSION AMD_VERSION_CODE(AMD_MAIN_VERSION, AMD_SUB_VERSION)
14 
15 #define AMD_CONTROL 5
16 #define AMD_INFO 20
17 
18 #define AMD_DENSE 0
19 #define AMD_AGGRESSIVE 1
20 
21 #define AMD_DEFAULT_DENSE 10.0
22 #define AMD_DEFAULT_AGGRESSIVE 1
23 
24 #define AMD_STATUS         0
25 #define AMD_N              1
26 #define AMD_NZ             2
27 #define AMD_SYMMETRY       3
28 #define AMD_NZDIAG         4
29 #define AMD_NZ_A_PLUS_AT   5
30 #define AMD_NDENSE         6
31 #define AMD_MEMORY         7
32 #define AMD_NCMPA          8
33 #define AMD_LNZ            9
34 #define AMD_NDIV           10
35 #define AMD_NMULTSUBS_LDL  11
36 #define AMD_NMULTSUBS_LU   12
37 #define AMD_DMAX           13
38 
39 #define AMD_OK             0
40 #define AMD_OUT_OF_MEMORY  (-1)
41 #define AMD_INVALID        (-2)
42 #define AMD_OK_BUT_JUMBLED 1
43 
44 #define amd_order _glp_amd_order
45 int amd_order(int n, const int Ap[], const int Ai[], int P[],
46       double Control[], double Info[]);
47 
48 #define amd_2 _glp_amd_2
49 void amd_2(int n, int Pe[], int Iw[], int Len[], int iwlen, int pfree,
50       int Nv[], int Next[], int Last[], int Head[], int Elen[],
51       int Degree[], int W[], double Control[], double Info[]);
52 
53 #define amd_valid _glp_amd_valid
54 int amd_valid(int n_row, int n_col, const int Ap[], const int Ai[]);
55 
56 #define amd_defaults _glp_amd_defaults
57 void amd_defaults(double Control[]);
58 
59 #define amd_control _glp_amd_control
60 void amd_control(double Control[]);
61 
62 #define amd_info _glp_amd_info
63 void amd_info(double Info[]);
64 
65 #endif
66 
67 /* eof */
68