- Main Page
- Data Structures
- Files

# SRC/superlu_enum_consts.h

Go to the documentation of this file.

    00001
    00010 #ifndef __SUPERLU_ENUM_CONSTS /* allow multiple inclusions */
    00011 #define __SUPERLU_ENUM_CONSTS
    00012
    00013 /***********************************************************************
    00014  * Enumerate types
    00015  ***********************************************************************/
    00016 typedef enum {NO, YES}                                          yes_no_t;
    00017 typedef enum {DOFACT, SamePattern, SamePattern_SameRowPerm, FACTORED} fact_t;
    00018 typedef enum {NOROWPERM, LargeDiag, MY_PERMR}                   rowperm_t;
    00019 typedef enum {NATURAL, MMD_ATA, MMD_AT_PLUS_A, COLAMD,
    00020               METIS_AT_PLUS_A, PARMETIS, ZOLTAN, MY_PERMC}      colperm_t;
    00021 typedef enum {NOTRANS, TRANS, CONJ}                             trans_t;
    00022 typedef enum {NOEQUIL, ROW, COL, BOTH}                          DiagScale_t;
    00023 typedef enum {NOREFINE, SINGLE=1, DOUBLE, EXTRA}                IterRefine_t;
    00024 typedef enum {LUSUP, UCOL, LSUB, USUB, LLVL, ULVL}              MemType;
    00025 typedef enum {HEAD, TAIL}                                       stack_end_t;
    00026 typedef enum {SYSTEM, USER}                                     LU_space_t;
    00027 typedef enum {ONE_NORM, TWO_NORM, INF_NORM}                     norm_t;
    00028 typedef enum {SILU, SMILU_1, SMILU_2, SMILU_3}                  milu_t;
    00029 #if 0
    00030 typedef enum {NODROP            = 0x0000,
    00031               DROP_BASIC        = 0x0001, /* ILU(tau) */
    00032               DROP_PROWS        = 0x0002, /* ILUTP: keep p maximum rows */
    00033               DROP_COLUMN       = 0x0004, /* ILUTP: for j-th column,
    00034                                              p = gamma * nnz(A(:,j)) */
    00035               DROP_AREA         = 0x0008, /* ILUTP: for j-th column, use
    00036                                              nnz(F(:,1:j)) / nnz(A(:,1:j))
    00037                                              to limit memory growth  */
    00038               DROP_SECONDARY    = 0x000E, /* PROWS | COLUMN | AREA */
    00039               DROP_DYNAMIC      = 0x0010,
    00040               DROP_INTERP       = 0x0100}                       rule_t;
    00041 #endif
    00042
    00043
    00044 /*
    00045  * The following enumerate type is used by the statistics variable
    00046  * to keep track of flop count and time spent at various stages.
    00047  *
    00048  * Note that not all of the fields are disjoint.
    00049  */
    00050 typedef enum {
    00051     COLPERM, /* find a column ordering that minimizes fills */
    00052     ROWPERM, /* find a row ordering maximizes diagonal. */
    00053     RELAX,   /* find artificial supernodes */
    00054     ETREE,   /* compute column etree */
    00055     EQUIL,   /* equilibrate the original matrix */
    00056     SYMBFAC, /* symbolic factorization. */
    00057     DIST,    /* distribute matrix. */
    00058     FACT,    /* perform LU factorization */
    00059     COMM,    /* communication for factorization */
    00060     SOL_COMM,/* communication for solve */
    00061     RCOND,   /* estimate reciprocal condition number */
    00062     SOLVE,   /* forward and back solves */
    00063     REFINE,  /* perform iterative refinement */
    00064     FLOAT,   /* time spent in floating-point operations */
    00065     TRSV,    /* fraction of FACT spent in xTRSV */
    00066     GEMV,    /* fraction of FACT spent in xGEMV */
    00067     FERR,    /* estimate error bounds after iterative refinement */
    00068     NPHASES  /* total number of phases */
    00069 } PhaseType;
    00070
    00071
    00072 #endif /* __SUPERLU_ENUM_CONSTS */