From ea36fcdf0f540afe80017928a74d60de4abb1662 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Mon, 24 Apr 2006 16:32:48 +0000 Subject: [PATCH] Added UMFPACK for complex numbers. --- src/prec/psb_zslu_bld.f90 | 2 +- src/prec/psb_zumf_impl.c | 15 +++++++-------- src/serial/psb_zcsdp.f90 | 2 +- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/prec/psb_zslu_bld.f90 b/src/prec/psb_zslu_bld.f90 index 54f4fd81..f800a4ea 100644 --- a/src/prec/psb_zslu_bld.f90 +++ b/src/prec/psb_zslu_bld.f90 @@ -51,7 +51,7 @@ subroutine psb_zslu_bld(a,desc_a,p,info) character(len=5) :: fmt character :: upd='F' integer :: i,j,nza,nzb,nzt,icontxt, me,mycol,nprow,npcol,err_act - logical, parameter :: debug=.true. + logical, parameter :: debug=.false. character(len=20) :: name, ch_err interface psb_asmatbld diff --git a/src/prec/psb_zumf_impl.c b/src/prec/psb_zumf_impl.c index cefe441d..cd47265b 100644 --- a/src/prec/psb_zumf_impl.c +++ b/src/prec/psb_zumf_impl.c @@ -90,7 +90,6 @@ Availability: #include #ifdef Have_UMF_ #include "umfpack.h" -#undef Have_UMF_ #endif #ifdef LargeFptr @@ -120,11 +119,11 @@ psb_zumf_factor_(int *n, int *nnz, int i; - umfpack_di_defaults(Control); + umfpack_zi_defaults(Control); for (i = 0; i <= *n; ++i) --colptr[i]; for (i = 0; i < *nnz; ++i) --rowind[i]; - *info = umfpack_di_symbolic (*n, *n, colptr, rowind, values, &Symbolic, + *info = umfpack_zi_symbolic (*n, *n, colptr, rowind, values, NULL, &Symbolic, Control, Info); @@ -136,7 +135,7 @@ psb_zumf_factor_(int *n, int *nnz, *symptr = (fptr) Symbolic; - *info = umfpack_di_numeric (colptr, rowind, values, Symbolic, &Numeric, + *info = umfpack_zi_numeric (colptr, rowind, values, NULL, Symbolic, &Numeric, Control, Info) ; @@ -186,8 +185,8 @@ psb_zumf_solve_(int *itrans, int *n, trans = UMFPACK_A; } - *info = umfpack_di_solve(trans,NULL,NULL,NULL, - x,b,(void *) *numptr,Control,Info); + *info = umfpack_zi_solve(trans,NULL,NULL,NULL,NULL, + x,NULL,b,NULL,(void *) *numptr,Control,Info); #else fprintf(stderr," UMF Not Configured, fix make.inc and recompile\n"); @@ -215,8 +214,8 @@ psb_zumf_free_( Symbolic = (void *) *symptr; Numeric = (void *) *numptr; - umfpack_di_free_numeric(&Numeric); - umfpack_di_free_symbolic(&Symbolic); + umfpack_zi_free_numeric(&Numeric); + umfpack_zi_free_symbolic(&Symbolic); *info=0; #else fprintf(stderr," UMF Not Configured, fix make.inc and recompile\n"); diff --git a/src/serial/psb_zcsdp.f90 b/src/serial/psb_zcsdp.f90 index f3ea0422..4c93a5b0 100644 --- a/src/serial/psb_zcsdp.f90 +++ b/src/serial/psb_zcsdp.f90 @@ -67,7 +67,7 @@ subroutine psb_zcsdp(a, b,info,ifc,check,trans,unitd,upd,dupl) & ipc, i, count, err_act, ierrv(5), i1, i2, ia character :: check_,trans_,unitd_, up Integer, Parameter :: maxtry=8 - logical, parameter :: debug=.true. + logical, parameter :: debug=.false. character(len=20) :: name, ch_err interface psb_cest