void prec_ilu0_factorize4(prec_t *P, bsr_matrix *A, bool use_dilu)
void prec_mapply3c(prec_t *P, double *x)
void prec_free(prec_t *P)
Delete preconditioner object.
void prec_mapply4c(prec_t *P, double *x)
struct prec_t prec_t
Preconditioner struct.
void prec_downcast(prec_t *P)
Make single-precision copy of double-precision values.
void prec_ilu0_factorize3(prec_t *P, bsr_matrix *A, bool use_dilu)
void prec_dapply3c(prec_t *P, double *x)
Preconditioner applicationin double-precision.
void prec_info(prec_t *P)
Display preconditioner statistics.
int prec_analyze(bsr_matrix *M, int(*offsets)[3])
Identify off-diagonal ILU0 targets.
prec_t * prec_alloc()
Create empty preconditioner object.
void prec_ilu0_factorize2(prec_t *P, bsr_matrix *A, bool use_dilu)
ILU0/DILU factorization.
void prec_init(prec_t *P, bsr_matrix const *A)
Initialize preconditioner object.
void prec_mapply2c(prec_t *P, double *x)
Preconditioner application in mixed-precision.
Mixed-precision bsr matrix.
Definition: bsr.h:12
Preconditioner struct.
Definition: prec.h:15
int(* offsets)[3]
Definition: prec.h:25
int noffsets
Definition: prec.h:23
bsr_matrix * U
Definition: prec.h:21
bsr_matrix * L
Definition: prec.h:17
bsr_matrix * D
Definition: prec.h:19