SuperLU_DIST  4.0
superlu_dist on CPU and GPU clusters
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
old_colamd.h
Go to the documentation of this file.
1 
4 /* ========================================================================== */
5 /* === colamd prototypes and definitions ==================================== */
6 /* ========================================================================== */
7 
8 /*
9  This is the colamd include file,
10 
11  http://www.cise.ufl.edu/~davis/colamd/colamd.h
12 
13  for use in the colamd.c, colamdmex.c, and symamdmex.c files located at
14 
15  http://www.cise.ufl.edu/~davis/colamd/
16 
17  See those files for a description of colamd and symamd, and for the
18  copyright notice, which also applies to this file.
19 
20  August 3, 1998. Version 1.0.
21 */
22 
23 /* ========================================================================== */
24 /* === Definitions ========================================================== */
25 /* ========================================================================== */
26 
27 /* size of the knobs [ ] array. Only knobs [0..1] are currently used. */
28 #define COLAMD_KNOBS 20
29 
30 /* number of output statistics. Only A [0..2] are currently used. */
31 #define COLAMD_STATS 20
32 
33 /* knobs [0] and A [0]: dense row knob and output statistic. */
34 #define COLAMD_DENSE_ROW 0
35 
36 /* knobs [1] and A [1]: dense column knob and output statistic. */
37 #define COLAMD_DENSE_COL 1
38 
39 /* A [2]: memory defragmentation count output statistic */
40 #define COLAMD_DEFRAG_COUNT 2
41 
42 /* A [3]: whether or not the input columns were jumbled or had duplicates */
43 #define COLAMD_JUMBLED_COLS 3
44 
45 /* ========================================================================== */
46 /* === Prototypes of user-callable routines ================================= */
47 /* ========================================================================== */
48 
49 #ifdef _CRAY
50 #define int short
51 #elif defined (_LONGINT)
52 #define int long
53 #endif
54 
55 int colamd_recommended /* returns recommended value of Alen */
56 (
57  int nnz, /* nonzeros in A */
58  int n_row, /* number of rows in A */
59  int n_col /* number of columns in A */
60 ) ;
61 
62 void colamd_set_defaults /* sets default parameters */
63 ( /* knobs argument is modified on output */
64  double knobs [COLAMD_KNOBS] /* parameter settings for colamd */
65 ) ;
66 
67 int colamd /* returns TRUE if successful, FALSE otherwise*/
68 ( /* A and p arguments are modified on output */
69  int n_row, /* number of rows in A */
70  int n_col, /* number of columns in A */
71  int Alen, /* size of the array A */
72  int A [], /* row indices of A, of size Alen */
73  int p [], /* column pointers of A, of size n_col+1 */
74  double knobs [COLAMD_KNOBS] /* parameter settings for colamd */
75 ) ;
76 
PUBLIC int colamd(int n_row, int n_col, int Alen, int A[], int p[], double knobs[COLAMD_KNOBS])
Definition: old_colamd.c:712
#define A(I, J)
PUBLIC int colamd_recommended(int nnz, int n_row, int n_col)
Definition: old_colamd.c:551
#define COLAMD_KNOBS
Definition: old_colamd.h:28
PUBLIC void colamd_set_defaults(double knobs[COLAMD_KNOBS])
Definition: old_colamd.c:606