19 #ifndef AMESOS_PARAKLETE_DECL_H
20 #define AMESOS_PARAKLETE_DECL_H
33 #define MPI(statement) statement
35 #define MPI(statement)
39 #define MPI_Int MPI_LONG
42 #define KLU_analyze amesos_klu_l_analyze
43 #define KLU_factor amesos_klu_l_factor
44 #define KLU_solve amesos_klu_l_solve
45 #define KLU_symbolic klu_l_symbolic
46 #define KLU_numeric klu_l_numeric
47 #define KLU_common klu_l_common
48 #define KLU_free_symbolic amesos_klu_l_free_symbolic
49 #define KLU_free_numeric amesos_klu_l_free_numeric
50 #define KLU_defaults amesos_klu_l_defaults
52 #define BTF_order amesos_btf_l_order
83 #define PK_OK CHOLMOD_OK
84 #define PK_OUT_OF_MEMORY CHOLMOD_OUT_OF_MEMORY
85 #define PK_TOO_LARGE CHOLMOD_TOO_LARGE
86 #define PK_SINGULAR (-5)
87 #define PK_UNKNOWN (-6)
212 #define GET_COLUMN(Ap,Anz,Aix,j,Ai,Ax,len) \
214 Int getp = Ap [j] ; \
216 Ai = (Int *) (Aix + getp) ; \
217 Ax = (double *) (Aix + getp + ((len + 1) / 2)) ; \
233 #define PK_STATUS header[0]
235 #define PK_SN header[1]
237 #define PK_SNZ header[2]
239 #define PK_NFOUND header[3]
241 #define PK_NLOST header[4]
243 #define PK_NN header[5]
248 #define PK_NPIV header[6]
253 #define PK_SSIZE header[7]
364 MPI (MPI_Request req ; )
365 MPI (MPI_Request *Req ; )
389 #define PARAKLETE_MAGIC (-42)
581 #define PARAKLETE_ERROR(status,message) \
582 amesos_paraklete_error (status, __FILE__, __LINE__, message, Common) ;
591 #define PARAKLETE_DATE "Nov 27, 2007"
592 #define PARAKLETE_VERSION_CODE(main,sub) ((main) * 1000 + (sub))
593 #define PARAKLETE_MAIN_VERSION 0
594 #define PARAKLETE_SUB_VERSION 3
595 #define PARAKLETE_VERSION \
596 PARAKLETE_VERSION_CODE(PARAKLETE_MAIN_VERSION,PARAKLETE_SUB_VERSION)
614 #define PR0(params) { (void) fprintf params ; fflush (Common->file) ; }
615 #define PR1(params) { if (Common->dump >= 1) (void) fprintf params ; fflush (Common->file) ; }
616 #define PR2(params) { if (Common->dump >= 2) (void) fprintf params ; fflush (Common->file) ; }
617 #define PR3(params) { if (Common->dump >= 3) (void) fprintf params ; fflush (Common->file) ; }
618 #define DEBUG(statement) statement
619 #define ASSERT(expression) (assert (expression))
627 #define DEBUG(statement)
628 #define ASSERT(expression)
struct paraklete_btf_numeric_struct paraklete_btf_numeric
paraklete_btf_numeric * amesos_paraklete_btf_factorize(cholmod_sparse *A, paraklete_btf_symbolic *LU_btf_symbolic, paraklete_common *Common)
Int amesos_paraklete_btf_solve(paraklete_btf_numeric *LU_btf_numeric, paraklete_btf_symbolic *LU_btf_symbolic, double *B, paraklete_common *Common)
struct paraklete_numeric_struct paraklete_numeric
Int amesos_paraklete_lsolve_node(Int c, paraklete_numeric *LU, paraklete_symbolic *LUsymbolic, paraklete_common *Common)
MPI(MPI_Request *Req;) Int *W2
Int amesos_paraklete_factorize_node(Int c, paraklete_numeric *LU, paraklete_symbolic *LUsymbolic, paraklete_common *Common)
void amesos_paraklete_free_numeric(paraklete_numeric **LUHandle, paraklete_common *Common)
paraklete_symbolic * amesos_paraklete_reanalyze(cholmod_sparse *A, paraklete_numeric *LU, paraklete_symbolic *LUsymbolic, paraklete_common *Common)
void amesos_paraklete_btf_free_symbolic(paraklete_btf_symbolic **LU_btf_symbolic_handle, paraklete_common *Common)
void amesos_paraklete_start(Int nproc, Int myid, paraklete_common *Common)
Int amesos_paraklete_usolve_node(Int c, paraklete_numeric *LU, paraklete_symbolic *LUsymbolic, paraklete_common *Common)
void amesos_paraklete_btf_free_numeric(paraklete_btf_numeric **LU_btf_numeric_handle, paraklete_common *Common)
struct paraklete_btf_symbolic_struct paraklete_btf_symbolic
paraklete_btf_symbolic * amesos_paraklete_btf_alloc_symbolic(Int n, Int nblocks, paraklete_common *Common)
paraklete_symbolic * amesos_paraklete_alloc_symbolic(Int n, Int ncomponents, Int do_Rperm, paraklete_common *Common)
Int amesos_paraklete_solve(paraklete_numeric *LU, paraklete_symbolic *LUsymbolic, double *B, paraklete_common *Common)
void amesos_paraklete_free_symbolic(paraklete_symbolic **LUsymbolicHandle, paraklete_common *Common)
Int amesos_paraklete_kernel(cholmod_sparse *A, paraklete_node *LUnode, paraklete_common *Common)
void amesos_paraklete_finish(paraklete_common *Common)
struct paraklete_node_struct paraklete_node
void amesos_paraklete_error(Int status, char *filename, Int line, char *message, paraklete_common *Common)
paraklete_symbolic * amesos_paraklete_analyze(cholmod_sparse *A, paraklete_common *Common)
struct paraklete_symbolic_struct paraklete_symbolic
struct paraklete_common_struct paraklete_common
paraklete_btf_symbolic * amesos_paraklete_btf_analyze(cholmod_sparse *A, paraklete_common *Common)
paraklete_numeric * amesos_paraklete_factorize(cholmod_sparse *A, paraklete_symbolic *LUsymbolic, paraklete_common *Common)