49#define SUPERLU_MAJOR_VERSION 7
50#define SUPERLU_MINOR_VERSION 0
51#define SUPERLU_PATCH_VERSION 0
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 void check_perm(
char *what,
int n,
int *perm);
void snode_profile(int, int *)
int spcoletree(int *, int *, int *, int, int, int *)
void slu_PrintInt10(char *name, int len, int *x)
Print content of int array with index numbers after every tenth row.
Definition: util.c:582
void superlu_free(void *)
Definition: memory.c:95
void ilu_relax_snode(const int, int *, const int, int *, int *, int *)
Definition: ilu_relax_snode.c:34
void get_perm_c(int, SuperMatrix *, int *)
Obtains a permutation matrix by applying the multiple minimum degree ordering code.
Definition: get_perm_c.c:427
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:225
int * int32Calloc(int)
Definition: memory.c:167
void Destroy_SuperMatrix_Store(SuperMatrix *)
Deallocate SuperMatrix.
Definition: util.c:128
unsigned char Logical
Definition: slu_util.h:146
void StatInit(SuperLUStat_t *)
Initialize SuperLU stat.
Definition: util.c:361
void Destroy_CompCol_Matrix(SuperMatrix *)
Deallocate SuperMatrix of type NC.
Definition: util.c:140
void PrintSumm(char *, int, int, int)
Print a summary of the testing results.
Definition: util.c:548
void set_default_options(superlu_options_t *options)
Set the default values for the options argument.
Definition: util.c:51
void print_panel_seg(int, int, int, int, int *, int *)
Diagnostic print of segment info after panel_dfs().
Definition: util.c:342
int_t * intMalloc(int_t)
Definition: memory.c:157
void Destroy_CompCol_Permuted(SuperMatrix *)
Deallocate SuperMatrix of type NCP.
Definition: util.c:188
void * superlu_malloc(size_t)
Definition: memory.c:88
int sp_coletree(int_t *, int_t *, int_t *, int, int, int *)
Definition: sp_coletree.c:170
void fixupL(const int, const int *, GlobalLU_t *)
Fix up the data storage lsub for L-subscripts.
Definition: util.c:306
int sp_ienv(int)
Definition: sp_ienv.c:70
void check_perm(char *what, int n, int *perm)
Validity check of a permutation.
Definition: util.c:601
int input_error(char *, int *)
Definition: input_error.c:45
int xerbla_(char *, int *)
double SuperLU_timer_(void)
Timer function.
Definition: superlu_timer.c:88
void Destroy_CompRow_Matrix(SuperMatrix *)
Deallocate SuperMatrix of type NR.
Definition: util.c:155
void check_repfnz(int, int, int, int *)
Check whether repfnz[] == EMPTY after reset.
Definition: util.c:527
void Destroy_Dense_Matrix(SuperMatrix *)
Deallocate SuperMatrix of type DN.
Definition: util.c:202
void StatPrint(SuperLUStat_t *)
Display SuperLU stat.
Definition: util.c:400
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:269
void relax_snode(const int, int *, const int, int *, int *)
Definition: relax_snode.c:45
float flops_t
Definition: slu_util.h:145
void ifill(int *, int, int)
Fills an integer array with a given value.
Definition: util.c:469
void StatFree(SuperLUStat_t *)
Deallocate SuperLU stat.
Definition: util.c:428
void resetrep_col(const int, const int *, int *)
Reset repfnz[] for the current column.
Definition: util.c:212
void superlu_abort_and_exit(char *)
Print message to error stream and exit program.
Definition: util.c:41
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:106
void super_stats(int, int *)
Definition: util.c:479
void ilu_heap_relax_snode(const int, int *, const int, int *, int *, int *)
Definition: ilu_heap_relax_snode.c:35
void print_int_vec(char *what, int n, int *vec)
Print content of int array.
Definition: util.c:566
int_t * intCalloc(int_t)
Definition: memory.c:179
void Destroy_SuperNode_Matrix(SuperMatrix *)
Deallocate SuperMatrix of type SC.
Definition: util.c:170
void heap_relax_snode(const int, int *, const int, int *, int *)
Definition: heap_relax_snode.c:47
void sp_preorder(superlu_options_t *, SuperMatrix *, int *, int *, SuperMatrix *)
Definition: sp_preorder.c:74
int * TreePostorder(int, int *)
Definition: sp_coletree.c:326
int * int32Malloc(int)
Definition: memory.c:147
void ilu_set_default_options(superlu_options_t *options)
Set the default values for the options argument for ILU.
Definition: util.c:69
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
int int_t
Definition: superlu_config.h:20
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