Bytecode: minor improvements of interfacing with UMFPACK

silicon
Sébastien Villemot 2023-04-03 18:32:32 +02:00
parent c4ad1d58e8
commit 8128fd4cc3
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
1 changed files with 4 additions and 6 deletions

View File

@ -2360,14 +2360,13 @@ dynSparseMatrix::Solve_LU_UMFPack(SuiteSparse_long *Ap, SuiteSparse_long *Ai, do
double Control[UMFPACK_CONTROL], Info[UMFPACK_INFO], res[n];
umfpack_dl_defaults(Control);
Control[UMFPACK_PRL] = 5;
SuiteSparse_long status = 0;
if (iter == 0)
{
if (Symbolic)
umfpack_dl_free_symbolic(&Symbolic);
status = umfpack_dl_symbolic(n, n, Ap, Ai, Ax, &Symbolic, Control, Info);
if (status < 0)
if (status != UMFPACK_OK)
{
umfpack_dl_report_info(Control, Info);
umfpack_dl_report_status(Control, status);
@ -2377,7 +2376,7 @@ dynSparseMatrix::Solve_LU_UMFPack(SuiteSparse_long *Ap, SuiteSparse_long *Ai, do
if (Numeric)
umfpack_dl_free_numeric(&Numeric);
status = umfpack_dl_numeric(Ap, Ai, Ax, Symbolic, &Numeric, Control, Info);
if (status < 0)
if (status != UMFPACK_OK)
{
umfpack_dl_report_info(Control, Info);
umfpack_dl_report_status(Control, status);
@ -2469,14 +2468,13 @@ dynSparseMatrix::Solve_LU_UMFPack(SuiteSparse_long *Ap, SuiteSparse_long *Ai, do
double Control[UMFPACK_CONTROL], Info[UMFPACK_INFO], res[n];
umfpack_dl_defaults(Control);
Control[UMFPACK_PRL] = 5;
SuiteSparse_long status = 0;
if (iter == 0)
{
if (Symbolic)
umfpack_dl_free_symbolic(&Symbolic);
status = umfpack_dl_symbolic(n, n, Ap, Ai, Ax, &Symbolic, Control, Info);
if (status < 0)
if (status != UMFPACK_OK)
{
umfpack_dl_report_info(Control, Info);
umfpack_dl_report_status(Control, status);
@ -2486,7 +2484,7 @@ dynSparseMatrix::Solve_LU_UMFPack(SuiteSparse_long *Ap, SuiteSparse_long *Ai, do
if (Numeric)
umfpack_dl_free_numeric(&Numeric);
status = umfpack_dl_numeric(Ap, Ai, Ax, Symbolic, &Numeric, Control, Info);
if (status < 0)
if (status != UMFPACK_OK)
{
umfpack_dl_report_info(Control, Info);
umfpack_dl_report_status(Control, status);