49#define SUPERLU_MAJOR_VERSION 6
50#define SUPERLU_MINOR_VERSION 0
51#define SUPERLU_PATCH_VERSION 1
54#define FIRSTCOL_OF_SNODE(i) (xsup[i])
58#define NUM_TEMPV(m,w,t,b) ( SUPERLU_MAX(m, (t + b)*w) )
61#define USER_ABORT(msg) superlu_abort_and_exit(msg)
64#define ABORT(err_msg) \
66 sprintf(msg,"%s at line %d in file %s\n",err_msg,__LINE__, __FILE__);\
72#define USER_MALLOC(size) superlu_malloc(size)
75#define USER_MALLOC(size) memset (superlu_malloc(size), '\x0F', size)
79#define SUPERLU_MALLOC(size) USER_MALLOC(size)
82#define USER_FREE(addr) superlu_free(addr)
85#define SUPERLU_FREE(addr) USER_FREE(addr)
87#define CHECK_MALLOC(where) { \
88 extern int superlu_malloc_total; \
89 printf("%s: malloc_total %d Bytes\n", \
90 where, superlu_malloc_total); \
93#define SUPERLU_MAX(x, y) ( (x) > (y) ? (x) : (y) )
94#define SUPERLU_MIN(x, y) ( (x) < (y) ? (x) : (y) )
99#define L_SUB_START(col) ( Lstore->rowind_colptr[col] )
100#define L_SUB(ptr) ( Lstore->rowind[ptr] )
101#define L_NZ_START(col) ( Lstore->nzval_colptr[col] )
102#define L_FST_SUPC(superno) ( Lstore->sup_to_col[superno] )
103#define U_NZ_START(col) ( Ustore->colptr[col] )
104#define U_SUB(ptr) ( Ustore->rowind[ptr] )
122#define GluIntArray(n) (5 * (n) + 5)
125#define NODROP ( 0x0000 )
126#define DROP_BASIC ( 0x0001 )
127#define DROP_PROWS ( 0x0002 )
128#define DROP_COLUMN ( 0x0004 )
130#define DROP_AREA ( 0x0008 )
133#define DROP_SECONDARY ( 0x000E )
134#define DROP_DYNAMIC ( 0x0010 )
135#define DROP_INTERP ( 0x0100 )
139#define MILU_ALPHA (1.0e-2)
141#define MILU_ALPHA 1.0
286 double DiagPivotThresh;
293 double ILU_FillFactor;
387extern void SetIWork (
int,
int,
int,
int *,
int **,
int **,
int_t **xplore,
388 int **,
int **,
int_t **xprune,
int **);
390extern void relax_snode (
const int,
int *,
const int,
int *,
int *);
400extern void resetrep_col (
const int,
const int *,
int *);
401extern int spcoletree (
int *,
int *,
int *,
int,
int,
int *);
405extern int xerbla_ (
char *,
int *);
406extern void ifill (
int *,
int,
int);
410extern void PrintSumm (
char *,
int,
int,
int);
417extern int check_perm(
char *what,
int n,
int *perm);
void snode_profile(int, int *)
int spcoletree(int *, int *, int *, int, int, int *)
void superlu_free(void *)
Definition: memory.c:94
void ilu_relax_snode(const int, int *, const int, int *, int *, int *)
Definition: ilu_relax_snode.c:33
void get_perm_c(int, SuperMatrix *, int *)
Definition: get_perm_c.c:437
void countnz(const int n, int_t *xprune, int_t *nnzL, int_t *nnzU, GlobalLU_t *)
Count the total number of nonzeros in factors L and U, and in the symmetrically reduced L.
Definition: util.c:184
int * int32Calloc(int)
Definition: memory.c:166
void Destroy_SuperMatrix_Store(SuperMatrix *)
Deallocate the structure pointing to the actual storage of the matrix.
Definition: util.c:114
unsigned char Logical
Definition: slu_util.h:146
void StatInit(SuperLUStat_t *)
Definition: util.c:316
void Destroy_CompCol_Matrix(SuperMatrix *)
Definition: util.c:120
void PrintSumm(char *, int, int, int)
Print a summary of the testing results.
Definition: util.c:478
void set_default_options(superlu_options_t *options)
Set the default values for the options argument.
Definition: util.c:48
void print_panel_seg(int, int, int, int, int *, int *)
Diagnostic print of segment info after panel_dfs().
Definition: util.c:300
int_t * intMalloc(int_t)
Definition: memory.c:156
void Destroy_CompCol_Permuted(SuperMatrix *)
A is of type Stype==NCP.
Definition: util.c:151
void * superlu_malloc(size_t)
Definition: memory.c:87
int sp_coletree(int_t *, int_t *, int_t *, int, int, int *)
Definition: sp_coletree.c:169
void fixupL(const int, const int *, GlobalLU_t *)
Fix up the data storage lsub for L-subscripts. It removes the subscript sets for structural pruning,...
Definition: util.c:263
int sp_ienv(int)
sp_ienv() is inquired to choose machine-dependent parameters for the local environment.
Definition: sp_ienv.c:69
int input_error(char *, int *)
Definition: input_error.c:45
int print_int_vec(char *, int, int *)
Definition: util.c:491
int xerbla_(char *, int *)
double SuperLU_timer_(void)
Timer function.
Definition: superlu_timer.c:87
void Destroy_CompRow_Matrix(SuperMatrix *)
Definition: util.c:129
void check_repfnz(int, int, int, int *)
Check whether repfnz[] == EMPTY after reset.
Definition: util.c:462
void Destroy_Dense_Matrix(SuperMatrix *)
A is of type Stype==DN.
Definition: util.c:160
void StatPrint(SuperLUStat_t *)
Definition: util.c:350
int mark_relax(int, int *, int *, int_t *, int_t *, int_t *, int *)
Definition: mark_relax.c:30
void ilu_countnz(const int, int_t *, int_t *, GlobalLU_t *)
Count the total number of nonzeros in factors L and U.
Definition: util.c:228
void relax_snode(const int, int *, const int, int *, int *)
Definition: relax_snode.c:44
float flops_t
Definition: slu_util.h:145
void ifill(int *, int, int)
Fills an integer array with a given value.
Definition: util.c:399
void StatFree(SuperLUStat_t *)
Definition: util.c:373
void resetrep_col(const int, const int *, int *)
Reset repfnz[] for the current column.
Definition: util.c:170
void superlu_abort_and_exit(char *)
Global statistics variale.
Definition: util.c:40
void SetIWork(int, int, int, int *, int **, int **, int_t **xplore, int **, int **, int_t **xprune, int **)
Set up pointers for integer working arrays.
Definition: memory.c:105
void super_stats(int, int *)
Definition: util.c:411
int check_perm(char *what, int n, int *perm)
Definition: util.c:513
void ilu_heap_relax_snode(const int, int *, const int, int *, int *, int *)
Definition: ilu_heap_relax_snode.c:35
int_t * intCalloc(int_t)
Definition: memory.c:178
void Destroy_SuperNode_Matrix(SuperMatrix *)
Definition: util.c:138
int slu_PrintInt10(char *, int, int *)
Definition: util.c:499
void heap_relax_snode(const int, int *, const int, int *, int *)
Definition: heap_relax_snode.c:46
void sp_preorder(superlu_options_t *, SuperMatrix *, int *, int *, SuperMatrix *)
Definition: sp_preorder.c:72
int * TreePostorder(int, int *)
Definition: sp_coletree.c:325
int * int32Malloc(int)
Definition: memory.c:146
void ilu_set_default_options(superlu_options_t *options)
Set the default values for the options argument for ILU.
Definition: util.c:64
struct e_node ExpHeader
Headers for 4 types of dynamatically managed memory.
Definition: slu_util.h:336
Definition: slu_util.h:313
Definition: slu_util.h:321
Definition: supermatrix.h:54
Headers for 4 types of dynamatically managed memory.
Definition: slu_util.h:308
int_t size
Definition: slu_util.h:309
void * mem
Definition: slu_util.h:310
Definition: slu_util.h:330
Definition: slu_util.h:277
int64_t int_t
Definition: superlu_config.h:18
enum constants header file
trans_t
Definition: superlu_enum_consts.h:34
milu_t
Definition: superlu_enum_consts.h:46
LU_space_t
Definition: superlu_enum_consts.h:40
IterRefine_t
Definition: superlu_enum_consts.h:36
rowperm_t
Definition: superlu_enum_consts.h:31
colperm_t
Definition: superlu_enum_consts.h:32
fact_t
Definition: superlu_enum_consts.h:30
norm_t
Definition: superlu_enum_consts.h:41
yes_no_t
Definition: superlu_enum_consts.h:29