74#ifndef __SUPERLU_cSP_DEFS
75#define __SUPERLU_cSP_DEFS
114 float *,
float *,
float *,
float *,
122 int *etree,
char *equed,
float *R,
float *C,
151 int,
int,
int*,
void *,
int_t,
int *,
int *,
161extern void cpanel_bmod (
const int,
const int,
const int,
const int,
164extern int ccolumn_dfs (
const int,
const int,
int *,
int *,
int *,
int *,
171extern int cpivotL (
const int,
const double,
int *,
int *,
173extern void cpruneL (
const int,
const int *,
const int,
const int,
186 int [],
float [],
float []);
197extern int ilu_cpivotL (
const int,
const double,
int *,
int *,
int,
int *,
198 int *,
int *,
int *,
double,
milu_t,
202 float *,
float *,
int);
208 float *,
float *,
int *);
210 float,
float,
char *);
228extern float smach(
char *);
267extern int cgemm_(
const char*,
const char*,
const int*,
const int*,
const int*,
272extern int ctrsm_(
char*,
char*,
char*,
char*,
int*,
int*,
Macros defining how C routines will be called.
void cprint_lu_col(char *, int, int, int_t *, GlobalLU_t *)
Diagnostic print of column "jcol" in the U/L factor.
Definition: cutil.c:299
float * floatMalloc(size_t)
Definition: smemory.c:689
void cinf_norm_error(int, SuperMatrix *, singlecomplex *)
Check the inf-norm of the error vector.
Definition: cutil.c:405
void creadMM(FILE *, int *, int *, int_t *, singlecomplex **, int_t **, int_t **)
Definition: creadMM.c:35
void creadtriple_noheader(int *, int *, int_t *, singlecomplex **, int_t **, int_t **)
void cCompRow_to_CompCol(int, int, int_t, singlecomplex *, int_t *, int_t *, singlecomplex **, int_t **, int_t **)
Convert a row compressed storage into a column compressed storage.
Definition: cutil.c:164
void ilu_cpanel_dfs(const int, const int, const int, SuperMatrix *, int *, int *, singlecomplex *, float *, int *, int *, int *, int *, int *, int_t *, GlobalLU_t *)
Definition: ilu_cpanel_dfs.c:56
void creadtriple(int *, int *, int_t *, singlecomplex **, int_t **, int_t **)
Definition: creadtriple.c:25
void cCreate_CompCol_Matrix(SuperMatrix *, int, int, int_t, singlecomplex *, int_t *, int_t *, Stype_t, Dtype_t, Mtype_t)
Supernodal LU factor related.
Definition: cutil.c:39
float smach(char *)
Definition: smach.c:18
void cPrint_Dense_Matrix(char *, SuperMatrix *)
Definition: cutil.c:277
void cgssv(superlu_options_t *, SuperMatrix *, int *, int *, SuperMatrix *, SuperMatrix *, SuperMatrix *, SuperLUStat_t *, int_t *info)
Driver routines.
Definition: cgssv.c:144
int csnode_bmod(const int, const int, const int, singlecomplex *, singlecomplex *, GlobalLU_t *, SuperLUStat_t *)
Performs numeric block updates within the relaxed snode.
Definition: csnode_bmod.c:41
int ilu_ccolumn_dfs(const int, const int, int *, int *, int *, int *, int *, int *, int *, int_t *, GlobalLU_t *)
Definition: ilu_ccolumn_dfs.c:61
int ccolumn_bmod(const int, const int, singlecomplex *, singlecomplex *, int *, int *, int, GlobalLU_t *, SuperLUStat_t *)
Definition: ccolumn_bmod.c:52
float * floatCalloc(size_t)
Definition: smemory.c:699
singlecomplex * singlecomplexMalloc(size_t)
Definition: cmemory.c:689
void cCopy_CompCol_Matrix(SuperMatrix *, SuperMatrix *)
Copy matrix A into matrix B.
Definition: cutil.c:82
void cgscon(char *, SuperMatrix *, SuperMatrix *, float, float *, SuperLUStat_t *, int *)
Definition: cgscon.c:85
int ctrsm_(char *, char *, char *, char *, int *, int *, singlecomplex *, singlecomplex *, int *, singlecomplex *, int *)
int cgemm_(const char *, const char *, const int *, const int *, const int *, const singlecomplex *, const singlecomplex *, const int *, const singlecomplex *, const int *, const singlecomplex *, singlecomplex *, const int *)
BLAS.
void cCopy_Dense_Matrix(int, int, singlecomplex *, int, singlecomplex *, int)
Definition: cutil.c:121
void creadmt(int *, int *, int_t *, singlecomplex **, int_t **, int_t **)
void cgsitrf(superlu_options_t *, SuperMatrix *, int, int, int *, void *, int_t, int *, int *, SuperMatrix *, SuperMatrix *, GlobalLU_t *, SuperLUStat_t *, int_t *info)
Definition: cgsitrf.c:188
int cpivotL(const int, const double, int *, int *, int *, int *, int *, GlobalLU_t *, SuperLUStat_t *)
Definition: cpivotL.c:67
void cmatvec(int, int, int, singlecomplex *, singlecomplex *, singlecomplex *)
Performs a dense matrix-vector multiply: Mxvec = Mxvec + M * vec.
Definition: cmyblas2.c:143
void cpanel_bmod(const int, const int, const int, const int, singlecomplex *, singlecomplex *, int *, int *, GlobalLU_t *, SuperLUStat_t *)
Definition: cpanel_bmod.c:61
singlecomplex * singlecomplexCalloc(size_t)
Definition: cmemory.c:699
void cgsrfs(trans_t, SuperMatrix *, SuperMatrix *, SuperMatrix *, int *, int *, char *, float *, float *, SuperMatrix *, SuperMatrix *, float *, float *, SuperLUStat_t *, int *)
Definition: cgsrfs.c:141
void cLUWorkFree(int *, singlecomplex *, GlobalLU_t *)
Free the working storage used by factor routines.
Definition: cmemory.c:407
int ilu_ccopy_to_ucol(int, int, int *, int *, int *, singlecomplex *, int, milu_t, double, int, singlecomplex *, int *, GlobalLU_t *, float *)
Definition: ilu_ccopy_to_ucol.c:44
void cgsisx(superlu_options_t *options, SuperMatrix *A, int *perm_c, int *perm_r, int *etree, char *equed, float *R, float *C, SuperMatrix *L, SuperMatrix *U, void *work, int_t lwork, SuperMatrix *B, SuperMatrix *X, float *recip_pivot_growth, float *rcond, GlobalLU_t *Glu, mem_usage_t *mem_usage, SuperLUStat_t *stat, int_t *info)
Definition: cgsisx.c:404
void creadrb(int *, int *, int_t *, singlecomplex **, int_t **, int_t **)
Definition: creadrb.c:290
int ilu_cpivotL(const int, const double, int *, int *, int, int *, int *, int *, int *, double, milu_t, singlecomplex, GlobalLU_t *, SuperLUStat_t *)
Definition: ilu_cpivotL.c:57
void cpruneL(const int, const int *, const int, const int, const int *, const int *, int_t *, GlobalLU_t *)
Definition: cpruneL.c:48
int ccopy_to_ucol(int, int, int *, int *, int *, singlecomplex *, GlobalLU_t *)
Definition: ccopy_to_ucol.c:36
int cQuerySpace(SuperMatrix *, SuperMatrix *, mem_usage_t *)
Definition: cmemory.c:111
void cPrint_SuperNode_Matrix(char *, SuperMatrix *)
Definition: cutil.c:226
int_t cLUMemInit(fact_t, void *, int_t, int, int, int_t, int, float, SuperMatrix *, SuperMatrix *, GlobalLU_t *, int **, singlecomplex **)
Memory-related.
Definition: cmemory.c:190
int ccolumn_dfs(const int, const int, int *, int *, int *, int *, int *, int_t *, int *, int *, int_t *, GlobalLU_t *)
Definition: ccolumn_dfs.c:76
void cgsisv(superlu_options_t *, SuperMatrix *, int *, int *, SuperMatrix *, SuperMatrix *, SuperMatrix *, SuperLUStat_t *, int *)
int ilu_csnode_dfs(const int, const int, const int_t *, const int_t *, const int_t *, int *, GlobalLU_t *)
Definition: ilu_csnode_dfs.c:42
int ilu_cQuerySpace(SuperMatrix *, SuperMatrix *, mem_usage_t *)
Definition: cmemory.c:149
float sqselect(int, float *, int)
float cPivotGrowth(int, SuperMatrix *, int *, SuperMatrix *, SuperMatrix *)
Definition: cpivotgrowth.c:59
void cGenXtrue(int, int, singlecomplex *, int)
Definition: cutil.c:355
int cldperm(int, int, int_t, int_t[], int_t[], singlecomplex[], int[], float[], float[])
void cgstrs(trans_t, SuperMatrix *, SuperMatrix *, int *, int *, SuperMatrix *, SuperLUStat_t *, int *)
Definition: cgstrs.c:93
void cCreate_SuperNode_Matrix(SuperMatrix *, int, int, int_t, singlecomplex *, int_t *, int_t *, int_t *, int *, int *, Stype_t, Dtype_t, Mtype_t)
Definition: cutil.c:134
int print_double_vec(char *, int, double *)
Definition: dutil.c:473
void ccheck_tempv(int, singlecomplex *)
Check whether tempv[] == 0. This should be true before and after calling any numeric routines,...
Definition: cutil.c:340
void cgstrf(superlu_options_t *, SuperMatrix *, int, int, int *, void *, int_t, int *, int *, SuperMatrix *, SuperMatrix *, GlobalLU_t *, SuperLUStat_t *, int_t *info)
Definition: cgstrf.c:201
void cFillRHS(trans_t, int, singlecomplex *, int, SuperMatrix *, SuperMatrix *)
Let rhs[i] = sum of i-th row of A, so the solution vector is all 1's.
Definition: cutil.c:368
void cusolve(int, int, singlecomplex *, singlecomplex *)
Solves a dense upper triangular system.
Definition: cmyblas2.c:116
void cgssvx(superlu_options_t *, SuperMatrix *, int *, int *, int *, char *, float *, float *, SuperMatrix *, SuperMatrix *, void *, int_t lwork, SuperMatrix *, SuperMatrix *, float *, float *, float *, float *, GlobalLU_t *, mem_usage_t *, SuperLUStat_t *, int_t *info)
Definition: cgssvx.c:358
int_t cmemory_usage(const int_t, const int_t, const int_t, const int)
Definition: cmemory.c:713
int sp_cgemv(char *, singlecomplex, SuperMatrix *, singlecomplex *, int, singlecomplex, singlecomplex *, int)
Performs one of the matrix-vector operations y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y.
Definition: csp_blas2.c:462
void clsolve(int, int, singlecomplex *, singlecomplex *)
Solves a dense UNIT lower triangular system.
Definition: cmyblas2.c:39
void cpanel_dfs(const int, const int, const int, SuperMatrix *, int *, int *, singlecomplex *, int *, int *, int *, int_t *, int *, int *, int_t *, GlobalLU_t *)
Definition: cpanel_dfs.c:69
int ctrsv_(char *, char *, char *, int *, singlecomplex *, int *, singlecomplex *, int *)
int ilu_cdrop_row(superlu_options_t *, int, int, double, int, int *, double *, GlobalLU_t *, float *, float *, int)
void cgsequ(SuperMatrix *, float *, float *, float *, float *, float *, int *)
Driver related.
Definition: cgsequ.c:94
void claqgs(SuperMatrix *, float *, float *, float, float, float, char *)
Definition: claqgs.c:92
void cSetRWork(int, int, singlecomplex *, singlecomplex **, singlecomplex **)
Set up pointers for real working arrays.
Definition: cmemory.c:392
void creadhb(FILE *, int *, int *, int_t *, singlecomplex **, int_t **, int_t **)
Auxiliary routines.
Definition: creadhb.c:293
void cCreate_CompRow_Matrix(SuperMatrix *, int, int, int_t, singlecomplex *, int_t *, int_t *, Stype_t, Dtype_t, Mtype_t)
Definition: cutil.c:60
int sp_ctrsv(char *, char *, char *, SuperMatrix *, SuperMatrix *, singlecomplex *, SuperLUStat_t *, int *)
Solves one of the systems of equations A*x = b, or A'*x = b.
Definition: csp_blas2.c:86
int_t cLUMemXpand(int, int_t, MemType, int_t *, GlobalLU_t *)
Expand the data structures for L and U during the factorization.
Definition: cmemory.c:430
int_t csnode_dfs(const int, const int, const int_t *, const int_t *, const int_t *, int_t *, int *, GlobalLU_t *)
Definition: csnode_dfs.c:55
void callocateA(int, int_t, singlecomplex **, int_t **, int_t **)
Allocate storage for original matrix A.
Definition: cmemory.c:681
int sp_cgemm(char *, char *, int, int, int, singlecomplex, SuperMatrix *, singlecomplex *, int, singlecomplex, singlecomplex *, int)
Definition: csp_blas3.c:126
void cfill(singlecomplex *, int, singlecomplex)
Fills a singlecomplex precision array with a given value.
Definition: cutil.c:395
void cPrint_CompCol_Matrix(char *, SuperMatrix *)
Routines for debugging.
Definition: cutil.c:202
int cgemv_(char *, int *, int *, singlecomplex *, singlecomplex *a, int *, singlecomplex *, int *, singlecomplex *, singlecomplex *, int *)
void cCreate_Dense_Matrix(SuperMatrix *, int, int, singlecomplex *, int, Stype_t, Dtype_t, Mtype_t)
Definition: cutil.c:103
Header file for complex operations.
Definition: slu_util.h:336
Definition: slu_util.h:321
Definition: supermatrix.h:54
Definition: slu_util.h:330
Definition: slu_scomplex.h:31
Definition: slu_util.h:277
int int_t
Definition: superlu_config.h:20
trans_t
Definition: superlu_enum_consts.h:34
milu_t
Definition: superlu_enum_consts.h:46
MemType
Definition: superlu_enum_consts.h:37
fact_t
Definition: superlu_enum_consts.h:30
Mtype_t
Definition: supermatrix.h:42
Dtype_t
Definition: supermatrix.h:35
Stype_t
Definition: supermatrix.h:22