Blender  V2.59
colamd.h
Go to the documentation of this file.
00001 
00004 /* ========================================================================== */
00005 /* === colamd prototypes and definitions ==================================== */
00006 /* ========================================================================== */
00007 
00008 /*
00009     This is the colamd include file,
00010 
00011         http://www.cise.ufl.edu/~davis/colamd/colamd.h
00012 
00013     for use in the colamd.c, colamdmex.c, and symamdmex.c files located at
00014 
00015         http://www.cise.ufl.edu/~davis/colamd/
00016 
00017     See those files for a description of colamd and symamd, and for the
00018     copyright notice, which also applies to this file.
00019 
00020     August 3, 1998.  Version 1.0.
00021 */
00022 
00023 /* ========================================================================== */
00024 /* === Definitions ========================================================== */
00025 /* ========================================================================== */
00026 
00027 /* size of the knobs [ ] array.  Only knobs [0..1] are currently used. */
00028 #define COLAMD_KNOBS 20
00029 
00030 /* number of output statistics.  Only A [0..2] are currently used. */
00031 #define COLAMD_STATS 20
00032 
00033 /* knobs [0] and A [0]: dense row knob and output statistic. */
00034 #define COLAMD_DENSE_ROW 0
00035 
00036 /* knobs [1] and A [1]: dense column knob and output statistic. */
00037 #define COLAMD_DENSE_COL 1
00038 
00039 /* A [2]: memory defragmentation count output statistic */
00040 #define COLAMD_DEFRAG_COUNT 2
00041 
00042 /* A [3]: whether or not the input columns were jumbled or had duplicates */
00043 #define COLAMD_JUMBLED_COLS 3
00044 
00045 /* ========================================================================== */
00046 /* === Prototypes of user-callable routines ================================= */
00047 /* ========================================================================== */
00048 
00049 int colamd_recommended          /* returns recommended value of Alen */
00050 (
00051     int nnz,                    /* nonzeros in A */
00052     int n_row,                  /* number of rows in A */
00053     int n_col                   /* number of columns in A */
00054 ) ;
00055 
00056 void colamd_set_defaults        /* sets default parameters */
00057 (                               /* knobs argument is modified on output */
00058     double knobs [COLAMD_KNOBS] /* parameter settings for colamd */
00059 ) ;
00060 
00061 int colamd                      /* returns TRUE if successful, FALSE otherwise*/
00062 (                               /* A and p arguments are modified on output */
00063     int n_row,                  /* number of rows in A */
00064     int n_col,                  /* number of columns in A */
00065     int Alen,                   /* size of the array A */
00066     int A [],                   /* row indices of A, of size Alen */
00067     int p [],                   /* column pointers of A, of size n_col+1 */
00068     double knobs [COLAMD_KNOBS] /* parameter settings for colamd */
00069 ) ;
00070