diff --git a/mlprec/mld_dbaseprec_aply.f90 b/mlprec/mld_dbaseprec_aply.f90 index 15931ea6..eeb9d36e 100644 --- a/mlprec/mld_dbaseprec_aply.f90 +++ b/mlprec/mld_dbaseprec_aply.f90 @@ -47,7 +47,8 @@ subroutine mld_dbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) type(psb_desc_type),intent(in) :: desc_data type(mld_dbaseprc_type), intent(in) :: prec - real(kind(0.d0)),intent(inout) :: x(:), y(:) + real(kind(0.d0)),intent(in) :: x(:) + real(kind(0.d0)),intent(inout) :: y(:) real(kind(0.d0)),intent(in) :: alpha,beta character(len=1) :: trans real(kind(0.d0)),target :: work(:) diff --git a/mlprec/mld_dbjac_aply.f90 b/mlprec/mld_dbjac_aply.f90 index ec9ecad8..2c863a01 100644 --- a/mlprec/mld_dbjac_aply.f90 +++ b/mlprec/mld_dbjac_aply.f90 @@ -47,13 +47,14 @@ subroutine mld_dbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) implicit none - type(psb_desc_type), intent(in) :: desc_data - type(mld_dbaseprc_type), intent(in) :: prec - real(kind(0.d0)),intent(inout) :: x(:), y(:) - real(kind(0.d0)),intent(in) :: alpha,beta - character(len=1) :: trans - real(kind(0.d0)),target :: work(:) - integer, intent(out) :: info + type(psb_desc_type), intent(in) :: desc_data + type(mld_dbaseprc_type), intent(in) :: prec + real(kind(0.d0)),intent(in) :: x(:) + real(kind(0.d0)),intent(inout) :: y(:) + real(kind(0.d0)),intent(in) :: alpha,beta + character(len=1) :: trans + real(kind(0.d0)),target :: work(:) + integer, intent(out) :: info ! Local variables integer :: n_row,n_col @@ -62,6 +63,15 @@ subroutine mld_dbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) logical,parameter :: debug=.false., debugprt=.false. character(len=20) :: name, ch_err + interface + subroutine mld_dumf_solve(flag,m,x,b,n,ptr,info) + integer, intent(in) :: flag,m,n,ptr + integer, intent(out) :: info + real(kind(1.d0)), intent(in) :: b(*) + real(kind(1.d0)), intent(inout) :: x(*) + end subroutine mld_dumf_solve + end interface + name='mld_dbjac_aply' info = 0 call psb_erractionsave(err_act) @@ -150,7 +160,6 @@ subroutine mld_dbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) case(mld_sludist_) -!!$ write(0,*) 'Calling mld_sludist_solve ',n_row ww(1:n_row) = x(1:n_row) select case(toupper(trans)) diff --git a/mlprec/mld_dmlprec_aply.f90 b/mlprec/mld_dmlprec_aply.f90 index 2e49fdef..32bbe46e 100644 --- a/mlprec/mld_dmlprec_aply.f90 +++ b/mlprec/mld_dmlprec_aply.f90 @@ -90,7 +90,8 @@ subroutine mld_dmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info) type(psb_desc_type),intent(in) :: desc_data type(mld_dbaseprc_type), intent(in) :: baseprecv(:) real(kind(0.d0)),intent(in) :: alpha,beta - real(kind(0.d0)),intent(inout) :: x(:), y(:) + real(kind(0.d0)),intent(in) :: x(:) + real(kind(0.d0)),intent(inout) :: y(:) character :: trans real(kind(0.d0)),target :: work(:) integer, intent(out) :: info diff --git a/mlprec/mld_dprec_aply.f90 b/mlprec/mld_dprec_aply.f90 index b259cb44..a194156a 100644 --- a/mlprec/mld_dprec_aply.f90 +++ b/mlprec/mld_dprec_aply.f90 @@ -43,7 +43,8 @@ subroutine mld_dprec_aply(prec,x,y,desc_data,info,trans, work) type(psb_desc_type),intent(in) :: desc_data type(mld_dprec_type), intent(in) :: prec - real(kind(0.d0)),intent(inout) :: x(:), y(:) + real(kind(0.d0)),intent(in) :: x(:) + real(kind(0.d0)),intent(inout) :: y(:) integer, intent(out) :: info character(len=1), optional :: trans real(kind(0.d0)), optional, target :: work(:) diff --git a/mlprec/mld_prec_mod.f90 b/mlprec/mld_prec_mod.f90 index c19db645..07ccf947 100644 --- a/mlprec/mld_prec_mod.f90 +++ b/mlprec/mld_prec_mod.f90 @@ -143,7 +143,8 @@ module mld_prec_mod use mld_prec_type type(psb_desc_type),intent(in) :: desc_data type(mld_dprec_type), intent(in) :: prec - real(kind(0.d0)),intent(inout) :: x(:), y(:) + real(kind(0.d0)),intent(in) :: x(:) + real(kind(0.d0)),intent(inout) :: y(:) integer, intent(out) :: info character(len=1), optional :: trans real(kind(0.d0)),intent(inout), optional, target :: work(:) @@ -162,7 +163,8 @@ module mld_prec_mod use mld_prec_type type(psb_desc_type),intent(in) :: desc_data type(mld_zprec_type), intent(in) :: prec - complex(kind(0.d0)),intent(inout) :: x(:), y(:) + complex(kind(0.d0)),intent(in) :: x(:) + complex(kind(0.d0)),intent(inout) :: y(:) integer, intent(out) :: info character(len=1), optional :: trans complex(kind(0.d0)),intent(inout), optional, target :: work(:) @@ -225,7 +227,8 @@ module mld_prec_mod use mld_prec_type type(psb_desc_type),intent(in) :: desc_data type(mld_dbaseprc_type), intent(in) :: prec - real(kind(0.d0)),intent(inout) :: x(:), y(:) + real(kind(0.d0)),intent(in) :: x(:) + real(kind(0.d0)),intent(inout) :: y(:) real(kind(0.d0)),intent(in) :: alpha,beta character(len=1) :: trans real(kind(0.d0)),target :: work(:) @@ -237,7 +240,8 @@ module mld_prec_mod use mld_prec_type type(psb_desc_type),intent(in) :: desc_data type(mld_zbaseprc_type), intent(in) :: prec - complex(kind(1.d0)),intent(inout) :: x(:), y(:) + complex(kind(1.d0)),intent(in) :: x(:) + complex(kind(1.d0)),intent(inout) :: y(:) complex(kind(1.d0)),intent(in) :: alpha,beta character(len=1) :: trans complex(kind(1.d0)),target :: work(:) @@ -252,7 +256,8 @@ module mld_prec_mod type(psb_desc_type),intent(in) :: desc_data type(mld_dbaseprc_type), intent(in) :: baseprecv(:) real(kind(0.d0)),intent(in) :: alpha,beta - real(kind(0.d0)),intent(inout) :: x(:), y(:) + real(kind(0.d0)),intent(in) :: x(:) + real(kind(0.d0)),intent(inout) :: y(:) character :: trans real(kind(0.d0)),target :: work(:) integer, intent(out) :: info @@ -263,7 +268,8 @@ module mld_prec_mod type(psb_desc_type),intent(in) :: desc_data type(mld_zbaseprc_type), intent(in) :: baseprecv(:) complex(kind(0.d0)),intent(in) :: alpha,beta - complex(kind(0.d0)),intent(inout) :: x(:), y(:) + complex(kind(0.d0)),intent(in) :: x(:) + complex(kind(0.d0)),intent(inout) :: y(:) character :: trans complex(kind(0.d0)),target :: work(:) integer, intent(out) :: info @@ -276,7 +282,8 @@ module mld_prec_mod use mld_prec_type type(psb_desc_type), intent(in) :: desc_data type(mld_dbaseprc_type), intent(in) :: prec - real(kind(0.d0)),intent(inout) :: x(:), y(:) + real(kind(0.d0)),intent(in) :: x(:) + real(kind(0.d0)),intent(inout) :: y(:) real(kind(0.d0)),intent(in) :: alpha,beta character(len=1) :: trans real(kind(0.d0)),target :: work(:) @@ -287,10 +294,11 @@ module mld_prec_mod use mld_prec_type type(psb_desc_type), intent(in) :: desc_data type(mld_zbaseprc_type), intent(in) :: prec - complex(kind(0.d0)),intent(inout) :: x(:), y(:) - complex(kind(0.d0)),intent(in) :: alpha,beta + complex(kind(0.d0)),intent(in) :: x(:) + complex(kind(0.d0)),intent(inout) :: y(:) + complex(kind(0.d0)),intent(in) :: alpha,beta character(len=1) :: trans - complex(kind(0.d0)),target :: work(:) + complex(kind(0.d0)),target :: work(:) integer, intent(out) :: info end subroutine mld_zbjac_aply end interface diff --git a/mlprec/mld_zbaseprec_aply.f90 b/mlprec/mld_zbaseprec_aply.f90 index e29366a6..205f7995 100644 --- a/mlprec/mld_zbaseprec_aply.f90 +++ b/mlprec/mld_zbaseprec_aply.f90 @@ -46,10 +46,11 @@ subroutine mld_zbaseprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) type(psb_desc_type),intent(in) :: desc_data type(mld_zbaseprc_type), intent(in) :: prec - complex(kind(0.d0)),intent(inout) :: x(:), y(:) - complex(kind(0.d0)),intent(in) :: alpha,beta + complex(kind(0.d0)),intent(in) :: x(:) + complex(kind(0.d0)),intent(inout) :: y(:) + complex(kind(0.d0)),intent(in) :: alpha,beta character(len=1) :: trans - complex(kind(0.d0)),target :: work(:) + complex(kind(0.d0)),target :: work(:) integer, intent(out) :: info ! Local variables diff --git a/mlprec/mld_zbjac_aply.f90 b/mlprec/mld_zbjac_aply.f90 index 8e8a5055..34cc4703 100644 --- a/mlprec/mld_zbjac_aply.f90 +++ b/mlprec/mld_zbjac_aply.f90 @@ -47,13 +47,14 @@ subroutine mld_zbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) implicit none - type(psb_desc_type), intent(in) :: desc_data - type(mld_zbaseprc_type), intent(in) :: prec - complex(kind(0.d0)),intent(inout) :: x(:), y(:) - complex(kind(0.d0)),intent(in) :: alpha,beta - character(len=1) :: trans - complex(kind(0.d0)),target :: work(:) - integer, intent(out) :: info + type(psb_desc_type), intent(in) :: desc_data + type(mld_zbaseprc_type), intent(in) :: prec + complex(kind(0.d0)),intent(in) :: x(:) + complex(kind(0.d0)),intent(inout) :: y(:) + complex(kind(0.d0)),intent(in) :: alpha,beta + character(len=1) :: trans + complex(kind(0.d0)),target :: work(:) + integer, intent(out) :: info ! Local variables integer :: n_row,n_col @@ -62,6 +63,15 @@ subroutine mld_zbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) logical,parameter :: debug=.false., debugprt=.false. character(len=20) :: name, ch_err + interface + subroutine mld_zumf_solve(flag,m,x,b,n,ptr,info) + integer, intent(in) :: flag,m,n,ptr + integer, intent(out) :: info + complex(kind(1.d0)), intent(in) :: b(*) + complex(kind(1.d0)), intent(inout) :: x(*) + end subroutine mld_zumf_solve + end interface + name='mld_zbjac_aply' info = 0 call psb_erractionsave(err_act) diff --git a/mlprec/mld_zmlprec_aply.f90 b/mlprec/mld_zmlprec_aply.f90 index 574e9b4f..62f7475d 100644 --- a/mlprec/mld_zmlprec_aply.f90 +++ b/mlprec/mld_zmlprec_aply.f90 @@ -91,7 +91,8 @@ subroutine mld_zmlprec_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info) type(psb_desc_type),intent(in) :: desc_data type(mld_zbaseprc_type), intent(in) :: baseprecv(:) complex(kind(1.d0)),intent(in) :: alpha,beta - complex(kind(1.d0)),intent(inout) :: x(:), y(:) + complex(kind(1.d0)),intent(in) :: x(:) + complex(kind(1.d0)),intent(inout) :: y(:) character :: trans complex(kind(1.d0)),target :: work(:) integer, intent(out) :: info diff --git a/mlprec/mld_zprec_aply.f90 b/mlprec/mld_zprec_aply.f90 index be71cc6b..5a576fa0 100644 --- a/mlprec/mld_zprec_aply.f90 +++ b/mlprec/mld_zprec_aply.f90 @@ -43,7 +43,8 @@ subroutine mld_zprec_aply(prec,x,y,desc_data,info,trans, work) type(psb_desc_type),intent(in) :: desc_data type(mld_zprec_type), intent(in) :: prec - complex(kind(0.d0)),intent(inout) :: x(:), y(:) + complex(kind(0.d0)),intent(in) :: x(:) + complex(kind(0.d0)),intent(inout) :: y(:) integer, intent(out) :: info character(len=1), optional :: trans complex(kind(0.d0)), optional, target :: work(:)