mld2p4-2:

Makefile
 mlprec/mld_base_prec_type.f90
 mlprec/mld_c_as_smoother.f90
 mlprec/mld_c_diag_solver.f90
 mlprec/mld_c_id_solver.f90
 mlprec/mld_c_ilu_solver.f90
 mlprec/mld_c_inner_mod.f90
 mlprec/mld_c_jac_smoother.f90
 mlprec/mld_c_prec_type.f90
 mlprec/mld_c_slu_solver.f90
 mlprec/mld_cmlprec_aply.f90
 mlprec/mld_cprecaply.f90
 mlprec/mld_d_as_smoother.f90
 mlprec/mld_d_diag_solver.f90
 mlprec/mld_d_id_solver.f90
 mlprec/mld_d_ilu_solver.f90
 mlprec/mld_d_inner_mod.f90
 mlprec/mld_d_jac_smoother.f90
 mlprec/mld_d_prec_type.f90
 mlprec/mld_d_slu_solver.f90
 mlprec/mld_d_sludist_solver.f90
 mlprec/mld_d_umf_solver.f90
 mlprec/mld_dmlprec_aply.f90
 mlprec/mld_dprecaply.f90
 mlprec/mld_s_as_smoother.f90
 mlprec/mld_s_diag_solver.f90
 mlprec/mld_s_id_solver.f90
 mlprec/mld_s_ilu_solver.f90
 mlprec/mld_s_inner_mod.f90
 mlprec/mld_s_jac_smoother.f90
 mlprec/mld_s_prec_type.f90
 mlprec/mld_s_slu_solver.f90
 mlprec/mld_smlprec_aply.f90
 mlprec/mld_sprecaply.f90
 mlprec/mld_z_as_smoother.f90
 mlprec/mld_z_diag_solver.f90
 mlprec/mld_z_id_solver.f90
 mlprec/mld_z_ilu_solver.f90
 mlprec/mld_z_inner_mod.f90
 mlprec/mld_z_jac_smoother.f90
 mlprec/mld_z_prec_type.f90
 mlprec/mld_z_slu_solver.f90
 mlprec/mld_z_umf_solver.f90
 mlprec/mld_zmlprec_aply.f90
 mlprec/mld_zprecaply.f90


Made X vector in APPLY as INTENT(INOUT) to allow for preconditioners
that apply SPMM.
stopcriterion
Salvatore Filippone 14 years ago
parent da018d0005
commit fbd5c53f24

@ -8,9 +8,6 @@ libdir:
(if test ! -d lib ; then mkdir lib; fi) (if test ! -d lib ; then mkdir lib; fi)
mlp: mlp:
(cd mlprec; make lib) (cd mlprec; make lib)
kryl:
(cd krylov; make symlink)
(cd krylov; make lib)
install: install:
(./mkdir.sh $(INSTALL_DIR) &&\ (./mkdir.sh $(INSTALL_DIR) &&\
@ -23,7 +20,6 @@ install:
/bin/cp -fr docs/*pdf docs/html $(INSTALL_DOCSDIR)) /bin/cp -fr docs/*pdf docs/html $(INSTALL_DOCSDIR))
veryclean: veryclean:
(cd mlprec; make veryclean) (cd mlprec; make veryclean)
(cd krylov; make veryclean)
(cd lib; /bin/rm -f *.a *$(.mod)) (cd lib; /bin/rm -f *.a *$(.mod))
(cd examples/fileread; make clean) (cd examples/fileread; make clean)
(cd examples/pdegen; make clean) (cd examples/pdegen; make clean)
@ -32,4 +28,3 @@ veryclean:
clean: clean:
(cd mlprec; make clean) (cd mlprec; make clean)
(cd krylov; make clean)

@ -159,7 +159,7 @@ module mld_base_prec_type
! !
! Legal values for entry: mld_sub_solve_ ! Legal values for entry: mld_sub_solve_
! !
integer, parameter :: mld_slv_delta_ = 4 integer, parameter :: mld_slv_delta_ = mld_max_prec_+1
integer, parameter :: mld_f_none_ = mld_slv_delta_+0, mld_diag_scale_ = mld_slv_delta_+1 integer, parameter :: mld_f_none_ = mld_slv_delta_+0, mld_diag_scale_ = mld_slv_delta_+1
integer, parameter :: mld_ilu_n_ = mld_slv_delta_+2, mld_milu_n_ = mld_slv_delta_+3 integer, parameter :: mld_ilu_n_ = mld_slv_delta_+2, mld_milu_n_ = mld_slv_delta_+3
integer, parameter :: mld_ilu_t_ = mld_slv_delta_+4, mld_slu_ = mld_slv_delta_+5 integer, parameter :: mld_ilu_t_ = mld_slv_delta_+4, mld_slu_ = mld_slv_delta_+5
@ -972,7 +972,8 @@ contains
integer, intent(in) :: ip integer, intent(in) :: ip
logical :: is_legal_ml_fact logical :: is_legal_ml_fact
! Here the minimum is really 1, mld_fact_none_ is not acceptable. ! Here the minimum is really 1, mld_fact_none_ is not acceptable.
is_legal_ml_fact = ((ip>=mld_min_sub_solve_).and.(ip<=mld_max_sub_solve_)) is_legal_ml_fact = ((ip>=mld_min_sub_solve_)&
& .and.(ip<=mld_max_sub_solve_))
return return
end function is_legal_ml_fact end function is_legal_ml_fact
function is_legal_ilu_fact(ip) function is_legal_ilu_fact(ip)

@ -155,7 +155,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_c_as_smoother_type), intent(in) :: sm class(mld_c_as_smoother_type), intent(in) :: sm
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -73,7 +73,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_c_diag_solver_type), intent(in) :: sv class(mld_c_diag_solver_type), intent(in) :: sv
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -72,9 +72,9 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_c_id_solver_type), intent(in) :: sv class(mld_c_id_solver_type), intent(in) :: sv
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
complex(psb_spk_),target, intent(inout) :: work(:) complex(psb_spk_),target, intent(inout) :: work(:)
integer, intent(out) :: info integer, intent(out) :: info

@ -184,9 +184,9 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_c_ilu_solver_type), intent(in) :: sv class(mld_c_ilu_solver_type), intent(in) :: sv
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
complex(psb_spk_),target, intent(inout) :: work(:) complex(psb_spk_),target, intent(inout) :: work(:)
integer, intent(out) :: info integer, intent(out) :: info

@ -70,7 +70,7 @@ module mld_c_inner_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_cprec_type), intent(in) :: p type(mld_cprec_type), intent(in) :: p
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
character,intent(in) :: trans character,intent(in) :: trans
complex(psb_spk_),target :: work(:) complex(psb_spk_),target :: work(:)

@ -78,7 +78,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_c_jac_smoother_type), intent(in) :: sm class(mld_c_jac_smoother_type), intent(in) :: sm
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -622,7 +622,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_c_base_smoother_type), intent(in) :: sm class(mld_c_base_smoother_type), intent(in) :: sm
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
@ -956,7 +956,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_c_base_solver_type), intent(in) :: sv class(mld_c_base_solver_type), intent(in) :: sv
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
@ -1218,9 +1218,9 @@ contains
subroutine mld_c_apply2v(prec,x,y,desc_data,info,trans,work) subroutine mld_c_apply2v(prec,x,y,desc_data,info,trans,work)
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_cprec_type), intent(in) :: prec class(mld_cprec_type), intent(in) :: prec
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans
complex(psb_spk_),intent(inout), optional, target :: work(:) complex(psb_spk_),intent(inout), optional, target :: work(:)
@ -1254,8 +1254,8 @@ contains
subroutine mld_c_apply1v(prec,x,desc_data,info,trans) subroutine mld_c_apply1v(prec,x,desc_data,info,trans)
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_cprec_type), intent(in) :: prec class(mld_cprec_type), intent(in) :: prec
complex(psb_spk_),intent(inout) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans
Integer :: err_act Integer :: err_act

@ -109,7 +109,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_c_slu_solver_type), intent(in) :: sv class(mld_c_slu_solver_type), intent(in) :: sv
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -323,7 +323,7 @@ subroutine mld_cmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_cprec_type), intent(in) :: p type(mld_cprec_type), intent(in) :: p
complex(psb_spk_),intent(in) :: alpha,beta complex(psb_spk_),intent(in) :: alpha,beta
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
character, intent(in) :: trans character, intent(in) :: trans
complex(psb_spk_),target :: work(:) complex(psb_spk_),target :: work(:)

@ -81,7 +81,7 @@ subroutine mld_cprecaply(prec,x,y,desc_data,info,trans,work)
! Arguments ! Arguments
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_cprec_type), intent(in) :: prec type(mld_cprec_type), intent(in) :: prec
complex(psb_spk_),intent(in) :: x(:) complex(psb_spk_),intent(inout) :: x(:)
complex(psb_spk_),intent(inout) :: y(:) complex(psb_spk_),intent(inout) :: y(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

@ -155,7 +155,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_as_smoother_type), intent(in) :: sm class(mld_d_as_smoother_type), intent(in) :: sm
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -73,7 +73,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_diag_solver_type), intent(in) :: sv class(mld_d_diag_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -72,7 +72,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_id_solver_type), intent(in) :: sv class(mld_d_id_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -184,7 +184,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_ilu_solver_type), intent(in) :: sv class(mld_d_ilu_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -70,7 +70,7 @@ module mld_d_inner_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_dprec_type), intent(in) :: p type(mld_dprec_type), intent(in) :: p
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
character,intent(in) :: trans character,intent(in) :: trans
real(psb_dpk_),target :: work(:) real(psb_dpk_),target :: work(:)

@ -78,7 +78,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_jac_smoother_type), intent(in) :: sm class(mld_d_jac_smoother_type), intent(in) :: sm
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -627,7 +627,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_base_smoother_type), intent(in) :: sm class(mld_d_base_smoother_type), intent(in) :: sm
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
@ -968,7 +968,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_base_solver_type), intent(in) :: sv class(mld_d_base_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
@ -1230,7 +1230,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_dprec_type), intent(in) :: prec class(mld_dprec_type), intent(in) :: prec
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

@ -109,7 +109,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_slu_solver_type), intent(in) :: sv class(mld_d_slu_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -109,7 +109,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_sludist_solver_type), intent(in) :: sv class(mld_d_sludist_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -109,7 +109,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_d_umf_solver_type), intent(in) :: sv class(mld_d_umf_solver_type), intent(in) :: sv
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -323,7 +323,7 @@ subroutine mld_dmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_dprec_type), intent(in) :: p type(mld_dprec_type), intent(in) :: p
real(psb_dpk_),intent(in) :: alpha,beta real(psb_dpk_),intent(in) :: alpha,beta
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
character, intent(in) :: trans character, intent(in) :: trans
real(psb_dpk_),target :: work(:) real(psb_dpk_),target :: work(:)

@ -81,7 +81,7 @@ subroutine mld_dprecaply(prec,x,y,desc_data,info,trans,work)
! Arguments ! Arguments
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_dprec_type), intent(in) :: prec type(mld_dprec_type), intent(in) :: prec
real(psb_dpk_),intent(in) :: x(:) real(psb_dpk_),intent(inout) :: x(:)
real(psb_dpk_),intent(inout) :: y(:) real(psb_dpk_),intent(inout) :: y(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

@ -155,7 +155,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_s_as_smoother_type), intent(in) :: sm class(mld_s_as_smoother_type), intent(in) :: sm
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -73,7 +73,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_s_diag_solver_type), intent(in) :: sv class(mld_s_diag_solver_type), intent(in) :: sv
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -72,7 +72,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_s_id_solver_type), intent(in) :: sv class(mld_s_id_solver_type), intent(in) :: sv
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -184,7 +184,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_s_ilu_solver_type), intent(in) :: sv class(mld_s_ilu_solver_type), intent(in) :: sv
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -70,7 +70,7 @@ module mld_s_inner_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_sprec_type), intent(in) :: p type(mld_sprec_type), intent(in) :: p
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
character,intent(in) :: trans character,intent(in) :: trans
real(psb_spk_),target :: work(:) real(psb_spk_),target :: work(:)

@ -78,7 +78,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_s_jac_smoother_type), intent(in) :: sm class(mld_s_jac_smoother_type), intent(in) :: sm
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -624,7 +624,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_s_base_smoother_type), intent(in) :: sm class(mld_s_base_smoother_type), intent(in) :: sm
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
@ -958,7 +958,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_s_base_solver_type), intent(in) :: sv class(mld_s_base_solver_type), intent(in) :: sv
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
@ -1221,7 +1221,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_sprec_type), intent(in) :: prec class(mld_sprec_type), intent(in) :: prec
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

@ -109,7 +109,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_s_slu_solver_type), intent(in) :: sv class(mld_s_slu_solver_type), intent(in) :: sv
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -324,7 +324,7 @@ subroutine mld_smlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_sprec_type), intent(in) :: p type(mld_sprec_type), intent(in) :: p
real(psb_spk_),intent(in) :: alpha,beta real(psb_spk_),intent(in) :: alpha,beta
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
character, intent(in) :: trans character, intent(in) :: trans
real(psb_spk_),target :: work(:) real(psb_spk_),target :: work(:)

@ -81,7 +81,7 @@ subroutine mld_sprecaply(prec,x,y,desc_data,info,trans,work)
! Arguments ! Arguments
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_sprec_type), intent(in) :: prec type(mld_sprec_type), intent(in) :: prec
real(psb_spk_),intent(in) :: x(:) real(psb_spk_),intent(inout) :: x(:)
real(psb_spk_),intent(inout) :: y(:) real(psb_spk_),intent(inout) :: y(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

@ -155,7 +155,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_z_as_smoother_type), intent(in) :: sm class(mld_z_as_smoother_type), intent(in) :: sm
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -73,7 +73,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_z_diag_solver_type), intent(in) :: sv class(mld_z_diag_solver_type), intent(in) :: sv
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -72,9 +72,9 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_z_id_solver_type), intent(in) :: sv class(mld_z_id_solver_type), intent(in) :: sv
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
complex(psb_dpk_),target, intent(inout) :: work(:) complex(psb_dpk_),target, intent(inout) :: work(:)
integer, intent(out) :: info integer, intent(out) :: info

@ -184,9 +184,9 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_z_ilu_solver_type), intent(in) :: sv class(mld_z_ilu_solver_type), intent(in) :: sv
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
complex(psb_dpk_),target, intent(inout) :: work(:) complex(psb_dpk_),target, intent(inout) :: work(:)
integer, intent(out) :: info integer, intent(out) :: info

@ -70,7 +70,7 @@ module mld_z_inner_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_zprec_type), intent(in) :: p type(mld_zprec_type), intent(in) :: p
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
character,intent(in) :: trans character,intent(in) :: trans
complex(psb_dpk_),target :: work(:) complex(psb_dpk_),target :: work(:)

@ -78,7 +78,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_z_jac_smoother_type), intent(in) :: sm class(mld_z_jac_smoother_type), intent(in) :: sm
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -621,7 +621,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_z_base_smoother_type), intent(in) :: sm class(mld_z_base_smoother_type), intent(in) :: sm
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
@ -953,7 +953,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_z_base_solver_type), intent(in) :: sv class(mld_z_base_solver_type), intent(in) :: sv
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans
@ -1215,9 +1215,9 @@ contains
subroutine mld_z_apply2v(prec,x,y,desc_data,info,trans,work) subroutine mld_z_apply2v(prec,x,y,desc_data,info,trans,work)
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_zprec_type), intent(in) :: prec class(mld_zprec_type), intent(in) :: prec
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans
complex(psb_dpk_),intent(inout), optional, target :: work(:) complex(psb_dpk_),intent(inout), optional, target :: work(:)
@ -1251,8 +1251,8 @@ contains
subroutine mld_z_apply1v(prec,x,desc_data,info,trans) subroutine mld_z_apply1v(prec,x,desc_data,info,trans)
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
class(mld_zprec_type), intent(in) :: prec class(mld_zprec_type), intent(in) :: prec
complex(psb_dpk_),intent(inout) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans
Integer :: err_act Integer :: err_act

@ -109,7 +109,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_z_slu_solver_type), intent(in) :: sv class(mld_z_slu_solver_type), intent(in) :: sv
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -109,7 +109,7 @@ contains
use psb_sparse_mod use psb_sparse_mod
type(psb_desc_type), intent(in) :: desc_data type(psb_desc_type), intent(in) :: desc_data
class(mld_z_umf_solver_type), intent(in) :: sv class(mld_z_umf_solver_type), intent(in) :: sv
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
character(len=1),intent(in) :: trans character(len=1),intent(in) :: trans

@ -323,7 +323,7 @@ subroutine mld_zmlprec_aply(alpha,p,x,beta,y,desc_data,trans,work,info)
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_zprec_type), intent(in) :: p type(mld_zprec_type), intent(in) :: p
complex(psb_dpk_),intent(in) :: alpha,beta complex(psb_dpk_),intent(in) :: alpha,beta
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
character, intent(in) :: trans character, intent(in) :: trans
complex(psb_dpk_),target :: work(:) complex(psb_dpk_),target :: work(:)

@ -81,7 +81,7 @@ subroutine mld_zprecaply(prec,x,y,desc_data,info,trans,work)
! Arguments ! Arguments
type(psb_desc_type),intent(in) :: desc_data type(psb_desc_type),intent(in) :: desc_data
type(mld_zprec_type), intent(in) :: prec type(mld_zprec_type), intent(in) :: prec
complex(psb_dpk_),intent(in) :: x(:) complex(psb_dpk_),intent(inout) :: x(:)
complex(psb_dpk_),intent(inout) :: y(:) complex(psb_dpk_),intent(inout) :: y(:)
integer, intent(out) :: info integer, intent(out) :: info
character(len=1), optional :: trans character(len=1), optional :: trans

Loading…
Cancel
Save