diff --git a/Makefile b/Makefile index 854a8ed2..5e623bd6 100644 --- a/Makefile +++ b/Makefile @@ -8,9 +8,6 @@ libdir: (if test ! -d lib ; then mkdir lib; fi) mlp: (cd mlprec; make lib) -kryl: - (cd krylov; make symlink) - (cd krylov; make lib) install: (./mkdir.sh $(INSTALL_DIR) &&\ @@ -23,7 +20,6 @@ install: /bin/cp -fr docs/*pdf docs/html $(INSTALL_DOCSDIR)) veryclean: (cd mlprec; make veryclean) - (cd krylov; make veryclean) (cd lib; /bin/rm -f *.a *$(.mod)) (cd examples/fileread; make clean) (cd examples/pdegen; make clean) @@ -32,4 +28,3 @@ veryclean: clean: (cd mlprec; make clean) - (cd krylov; make clean) diff --git a/mlprec/mld_base_prec_type.f90 b/mlprec/mld_base_prec_type.f90 index 4eddbc7c..dfe1cda2 100644 --- a/mlprec/mld_base_prec_type.f90 +++ b/mlprec/mld_base_prec_type.f90 @@ -159,7 +159,7 @@ module mld_base_prec_type ! ! 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_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 @@ -972,7 +972,8 @@ contains integer, intent(in) :: ip logical :: is_legal_ml_fact ! 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 end function is_legal_ml_fact function is_legal_ilu_fact(ip) diff --git a/mlprec/mld_c_as_smoother.f90 b/mlprec/mld_c_as_smoother.f90 index f14b79cb..26e87911 100644 --- a/mlprec/mld_c_as_smoother.f90 +++ b/mlprec/mld_c_as_smoother.f90 @@ -155,7 +155,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_c_diag_solver.f90 b/mlprec/mld_c_diag_solver.f90 index c3a0b412..fec01f94 100644 --- a/mlprec/mld_c_diag_solver.f90 +++ b/mlprec/mld_c_diag_solver.f90 @@ -73,7 +73,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_c_id_solver.f90 b/mlprec/mld_c_id_solver.f90 index 60ceb198..5f68a135 100644 --- a/mlprec/mld_c_id_solver.f90 +++ b/mlprec/mld_c_id_solver.f90 @@ -72,9 +72,9 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data class(mld_c_id_solver_type), intent(in) :: sv - complex(psb_spk_),intent(in) :: x(:) - complex(psb_spk_),intent(inout) :: y(:) - complex(psb_spk_),intent(in) :: alpha,beta + complex(psb_spk_),intent(inout) :: x(:) + complex(psb_spk_),intent(inout) :: y(:) + complex(psb_spk_),intent(in) :: alpha,beta character(len=1),intent(in) :: trans complex(psb_spk_),target, intent(inout) :: work(:) integer, intent(out) :: info diff --git a/mlprec/mld_c_ilu_solver.f90 b/mlprec/mld_c_ilu_solver.f90 index e48a2089..04c4bb33 100644 --- a/mlprec/mld_c_ilu_solver.f90 +++ b/mlprec/mld_c_ilu_solver.f90 @@ -184,9 +184,9 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data class(mld_c_ilu_solver_type), intent(in) :: sv - complex(psb_spk_),intent(in) :: x(:) - complex(psb_spk_),intent(inout) :: y(:) - complex(psb_spk_),intent(in) :: alpha,beta + complex(psb_spk_),intent(inout) :: x(:) + complex(psb_spk_),intent(inout) :: y(:) + complex(psb_spk_),intent(in) :: alpha,beta character(len=1),intent(in) :: trans complex(psb_spk_),target, intent(inout) :: work(:) integer, intent(out) :: info diff --git a/mlprec/mld_c_inner_mod.f90 b/mlprec/mld_c_inner_mod.f90 index b54a93c7..39486517 100644 --- a/mlprec/mld_c_inner_mod.f90 +++ b/mlprec/mld_c_inner_mod.f90 @@ -70,7 +70,7 @@ module mld_c_inner_mod type(psb_desc_type),intent(in) :: desc_data type(mld_cprec_type), intent(in) :: p 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(:) character,intent(in) :: trans complex(psb_spk_),target :: work(:) diff --git a/mlprec/mld_c_jac_smoother.f90 b/mlprec/mld_c_jac_smoother.f90 index 2314ae00..f19a3963 100644 --- a/mlprec/mld_c_jac_smoother.f90 +++ b/mlprec/mld_c_jac_smoother.f90 @@ -78,7 +78,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_c_prec_type.f90 b/mlprec/mld_c_prec_type.f90 index 5876869d..b0e269bd 100644 --- a/mlprec/mld_c_prec_type.f90 +++ b/mlprec/mld_c_prec_type.f90 @@ -622,7 +622,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans @@ -956,7 +956,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans @@ -1218,9 +1218,9 @@ contains subroutine mld_c_apply2v(prec,x,y,desc_data,info,trans,work) use psb_sparse_mod type(psb_desc_type),intent(in) :: desc_data - class(mld_cprec_type), intent(in) :: prec - complex(psb_spk_),intent(in) :: x(:) - complex(psb_spk_),intent(inout) :: y(:) + class(mld_cprec_type), intent(in) :: prec + complex(psb_spk_),intent(inout) :: x(:) + complex(psb_spk_),intent(inout) :: y(:) integer, intent(out) :: info character(len=1), optional :: trans complex(psb_spk_),intent(inout), optional, target :: work(:) @@ -1254,8 +1254,8 @@ contains subroutine mld_c_apply1v(prec,x,desc_data,info,trans) use psb_sparse_mod type(psb_desc_type),intent(in) :: desc_data - class(mld_cprec_type), intent(in) :: prec - complex(psb_spk_),intent(inout) :: x(:) + class(mld_cprec_type), intent(in) :: prec + complex(psb_spk_),intent(inout) :: x(:) integer, intent(out) :: info character(len=1), optional :: trans Integer :: err_act diff --git a/mlprec/mld_c_slu_solver.f90 b/mlprec/mld_c_slu_solver.f90 index 27187bf1..1ec7b390 100644 --- a/mlprec/mld_c_slu_solver.f90 +++ b/mlprec/mld_c_slu_solver.f90 @@ -109,7 +109,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_cmlprec_aply.f90 b/mlprec/mld_cmlprec_aply.f90 index 187745f1..705d1b91 100644 --- a/mlprec/mld_cmlprec_aply.f90 +++ b/mlprec/mld_cmlprec_aply.f90 @@ -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(mld_cprec_type), intent(in) :: p 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(:) character, intent(in) :: trans complex(psb_spk_),target :: work(:) diff --git a/mlprec/mld_cprecaply.f90 b/mlprec/mld_cprecaply.f90 index a23e0c90..3ee44ae5 100644 --- a/mlprec/mld_cprecaply.f90 +++ b/mlprec/mld_cprecaply.f90 @@ -81,7 +81,7 @@ subroutine mld_cprecaply(prec,x,y,desc_data,info,trans,work) ! Arguments type(psb_desc_type),intent(in) :: desc_data 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(:) integer, intent(out) :: info character(len=1), optional :: trans diff --git a/mlprec/mld_d_as_smoother.f90 b/mlprec/mld_d_as_smoother.f90 index 461a0fbf..7d3ac62d 100644 --- a/mlprec/mld_d_as_smoother.f90 +++ b/mlprec/mld_d_as_smoother.f90 @@ -155,7 +155,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_d_diag_solver.f90 b/mlprec/mld_d_diag_solver.f90 index dfb02c79..983e0038 100644 --- a/mlprec/mld_d_diag_solver.f90 +++ b/mlprec/mld_d_diag_solver.f90 @@ -73,7 +73,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_d_id_solver.f90 b/mlprec/mld_d_id_solver.f90 index a437ff59..647a98b1 100644 --- a/mlprec/mld_d_id_solver.f90 +++ b/mlprec/mld_d_id_solver.f90 @@ -72,7 +72,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_d_ilu_solver.f90 b/mlprec/mld_d_ilu_solver.f90 index f39ca11a..c25d2363 100644 --- a/mlprec/mld_d_ilu_solver.f90 +++ b/mlprec/mld_d_ilu_solver.f90 @@ -184,7 +184,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_d_inner_mod.f90 b/mlprec/mld_d_inner_mod.f90 index ed20fc8b..c6e24dff 100644 --- a/mlprec/mld_d_inner_mod.f90 +++ b/mlprec/mld_d_inner_mod.f90 @@ -70,7 +70,7 @@ module mld_d_inner_mod type(psb_desc_type),intent(in) :: desc_data type(mld_dprec_type), intent(in) :: p 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(:) character,intent(in) :: trans real(psb_dpk_),target :: work(:) diff --git a/mlprec/mld_d_jac_smoother.f90 b/mlprec/mld_d_jac_smoother.f90 index 1406bf83..dbcb92e1 100644 --- a/mlprec/mld_d_jac_smoother.f90 +++ b/mlprec/mld_d_jac_smoother.f90 @@ -78,7 +78,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_d_prec_type.f90 b/mlprec/mld_d_prec_type.f90 index fd823ab0..8fe8dea3 100644 --- a/mlprec/mld_d_prec_type.f90 +++ b/mlprec/mld_d_prec_type.f90 @@ -627,7 +627,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans @@ -968,7 +968,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans @@ -1230,7 +1230,7 @@ contains use psb_sparse_mod type(psb_desc_type),intent(in) :: desc_data 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(:) integer, intent(out) :: info character(len=1), optional :: trans diff --git a/mlprec/mld_d_slu_solver.f90 b/mlprec/mld_d_slu_solver.f90 index b47a9487..9ff0cbc4 100644 --- a/mlprec/mld_d_slu_solver.f90 +++ b/mlprec/mld_d_slu_solver.f90 @@ -109,7 +109,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_d_sludist_solver.f90 b/mlprec/mld_d_sludist_solver.f90 index f3f183f4..f0f06c37 100644 --- a/mlprec/mld_d_sludist_solver.f90 +++ b/mlprec/mld_d_sludist_solver.f90 @@ -109,7 +109,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_d_umf_solver.f90 b/mlprec/mld_d_umf_solver.f90 index 05925e44..6887a724 100644 --- a/mlprec/mld_d_umf_solver.f90 +++ b/mlprec/mld_d_umf_solver.f90 @@ -109,7 +109,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_dmlprec_aply.f90 b/mlprec/mld_dmlprec_aply.f90 index b952e6d7..e72d0ba3 100644 --- a/mlprec/mld_dmlprec_aply.f90 +++ b/mlprec/mld_dmlprec_aply.f90 @@ -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(mld_dprec_type), intent(in) :: p 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(:) character, intent(in) :: trans real(psb_dpk_),target :: work(:) diff --git a/mlprec/mld_dprecaply.f90 b/mlprec/mld_dprecaply.f90 index 8cac9a9f..65bf04c8 100644 --- a/mlprec/mld_dprecaply.f90 +++ b/mlprec/mld_dprecaply.f90 @@ -81,7 +81,7 @@ subroutine mld_dprecaply(prec,x,y,desc_data,info,trans,work) ! Arguments type(psb_desc_type),intent(in) :: desc_data 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(:) integer, intent(out) :: info character(len=1), optional :: trans diff --git a/mlprec/mld_s_as_smoother.f90 b/mlprec/mld_s_as_smoother.f90 index a1ac6aa2..ce2d204c 100644 --- a/mlprec/mld_s_as_smoother.f90 +++ b/mlprec/mld_s_as_smoother.f90 @@ -155,7 +155,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_s_diag_solver.f90 b/mlprec/mld_s_diag_solver.f90 index 0f0a8ec1..cee8d807 100644 --- a/mlprec/mld_s_diag_solver.f90 +++ b/mlprec/mld_s_diag_solver.f90 @@ -73,7 +73,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_s_id_solver.f90 b/mlprec/mld_s_id_solver.f90 index 50a9ebb8..bf6e3f9a 100644 --- a/mlprec/mld_s_id_solver.f90 +++ b/mlprec/mld_s_id_solver.f90 @@ -72,7 +72,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_s_ilu_solver.f90 b/mlprec/mld_s_ilu_solver.f90 index cc0bf54c..b1f02405 100644 --- a/mlprec/mld_s_ilu_solver.f90 +++ b/mlprec/mld_s_ilu_solver.f90 @@ -184,7 +184,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_s_inner_mod.f90 b/mlprec/mld_s_inner_mod.f90 index cd5995b7..6aa295f6 100644 --- a/mlprec/mld_s_inner_mod.f90 +++ b/mlprec/mld_s_inner_mod.f90 @@ -70,7 +70,7 @@ module mld_s_inner_mod type(psb_desc_type),intent(in) :: desc_data type(mld_sprec_type), intent(in) :: p 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(:) character,intent(in) :: trans real(psb_spk_),target :: work(:) diff --git a/mlprec/mld_s_jac_smoother.f90 b/mlprec/mld_s_jac_smoother.f90 index 6000d7ac..bf034d3b 100644 --- a/mlprec/mld_s_jac_smoother.f90 +++ b/mlprec/mld_s_jac_smoother.f90 @@ -78,7 +78,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_s_prec_type.f90 b/mlprec/mld_s_prec_type.f90 index 09991df4..ab5b759b 100644 --- a/mlprec/mld_s_prec_type.f90 +++ b/mlprec/mld_s_prec_type.f90 @@ -624,7 +624,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans @@ -958,7 +958,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans @@ -1221,7 +1221,7 @@ contains use psb_sparse_mod type(psb_desc_type),intent(in) :: desc_data 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(:) integer, intent(out) :: info character(len=1), optional :: trans diff --git a/mlprec/mld_s_slu_solver.f90 b/mlprec/mld_s_slu_solver.f90 index 6e2400d4..271d7f31 100644 --- a/mlprec/mld_s_slu_solver.f90 +++ b/mlprec/mld_s_slu_solver.f90 @@ -109,7 +109,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_smlprec_aply.f90 b/mlprec/mld_smlprec_aply.f90 index 26148221..91b13b68 100644 --- a/mlprec/mld_smlprec_aply.f90 +++ b/mlprec/mld_smlprec_aply.f90 @@ -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(mld_sprec_type), intent(in) :: p 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(:) character, intent(in) :: trans real(psb_spk_),target :: work(:) diff --git a/mlprec/mld_sprecaply.f90 b/mlprec/mld_sprecaply.f90 index 935bffc7..71daa9d5 100644 --- a/mlprec/mld_sprecaply.f90 +++ b/mlprec/mld_sprecaply.f90 @@ -81,7 +81,7 @@ subroutine mld_sprecaply(prec,x,y,desc_data,info,trans,work) ! Arguments type(psb_desc_type),intent(in) :: desc_data 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(:) integer, intent(out) :: info character(len=1), optional :: trans diff --git a/mlprec/mld_z_as_smoother.f90 b/mlprec/mld_z_as_smoother.f90 index 98a7fd8b..5597b471 100644 --- a/mlprec/mld_z_as_smoother.f90 +++ b/mlprec/mld_z_as_smoother.f90 @@ -155,7 +155,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_z_diag_solver.f90 b/mlprec/mld_z_diag_solver.f90 index bd946be1..0b5ddaf9 100644 --- a/mlprec/mld_z_diag_solver.f90 +++ b/mlprec/mld_z_diag_solver.f90 @@ -73,7 +73,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_z_id_solver.f90 b/mlprec/mld_z_id_solver.f90 index 35b71058..54997439 100644 --- a/mlprec/mld_z_id_solver.f90 +++ b/mlprec/mld_z_id_solver.f90 @@ -72,9 +72,9 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data class(mld_z_id_solver_type), intent(in) :: sv - complex(psb_dpk_),intent(in) :: x(:) - complex(psb_dpk_),intent(inout) :: y(:) - complex(psb_dpk_),intent(in) :: alpha,beta + complex(psb_dpk_),intent(inout) :: x(:) + complex(psb_dpk_),intent(inout) :: y(:) + complex(psb_dpk_),intent(in) :: alpha,beta character(len=1),intent(in) :: trans complex(psb_dpk_),target, intent(inout) :: work(:) integer, intent(out) :: info diff --git a/mlprec/mld_z_ilu_solver.f90 b/mlprec/mld_z_ilu_solver.f90 index 00700d31..5a36ae77 100644 --- a/mlprec/mld_z_ilu_solver.f90 +++ b/mlprec/mld_z_ilu_solver.f90 @@ -184,9 +184,9 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data class(mld_z_ilu_solver_type), intent(in) :: sv - complex(psb_dpk_),intent(in) :: x(:) - complex(psb_dpk_),intent(inout) :: y(:) - complex(psb_dpk_),intent(in) :: alpha,beta + complex(psb_dpk_),intent(inout) :: x(:) + complex(psb_dpk_),intent(inout) :: y(:) + complex(psb_dpk_),intent(in) :: alpha,beta character(len=1),intent(in) :: trans complex(psb_dpk_),target, intent(inout) :: work(:) integer, intent(out) :: info diff --git a/mlprec/mld_z_inner_mod.f90 b/mlprec/mld_z_inner_mod.f90 index ac771c9c..69ebcf18 100644 --- a/mlprec/mld_z_inner_mod.f90 +++ b/mlprec/mld_z_inner_mod.f90 @@ -70,7 +70,7 @@ module mld_z_inner_mod type(psb_desc_type),intent(in) :: desc_data type(mld_zprec_type), intent(in) :: p 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(:) character,intent(in) :: trans complex(psb_dpk_),target :: work(:) diff --git a/mlprec/mld_z_jac_smoother.f90 b/mlprec/mld_z_jac_smoother.f90 index 5430b209..138394c8 100644 --- a/mlprec/mld_z_jac_smoother.f90 +++ b/mlprec/mld_z_jac_smoother.f90 @@ -78,7 +78,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_z_prec_type.f90 b/mlprec/mld_z_prec_type.f90 index 03c409b0..7361a841 100644 --- a/mlprec/mld_z_prec_type.f90 +++ b/mlprec/mld_z_prec_type.f90 @@ -621,7 +621,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans @@ -953,7 +953,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans @@ -1215,9 +1215,9 @@ contains subroutine mld_z_apply2v(prec,x,y,desc_data,info,trans,work) use psb_sparse_mod type(psb_desc_type),intent(in) :: desc_data - class(mld_zprec_type), intent(in) :: prec - complex(psb_dpk_),intent(in) :: x(:) - complex(psb_dpk_),intent(inout) :: y(:) + class(mld_zprec_type), intent(in) :: prec + complex(psb_dpk_),intent(inout) :: x(:) + complex(psb_dpk_),intent(inout) :: y(:) integer, intent(out) :: info character(len=1), optional :: trans complex(psb_dpk_),intent(inout), optional, target :: work(:) @@ -1251,8 +1251,8 @@ contains subroutine mld_z_apply1v(prec,x,desc_data,info,trans) use psb_sparse_mod type(psb_desc_type),intent(in) :: desc_data - class(mld_zprec_type), intent(in) :: prec - complex(psb_dpk_),intent(inout) :: x(:) + class(mld_zprec_type), intent(in) :: prec + complex(psb_dpk_),intent(inout) :: x(:) integer, intent(out) :: info character(len=1), optional :: trans Integer :: err_act diff --git a/mlprec/mld_z_slu_solver.f90 b/mlprec/mld_z_slu_solver.f90 index 65a6d58b..d49e4999 100644 --- a/mlprec/mld_z_slu_solver.f90 +++ b/mlprec/mld_z_slu_solver.f90 @@ -109,7 +109,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_z_umf_solver.f90 b/mlprec/mld_z_umf_solver.f90 index 901f6669..fef1a6f9 100644 --- a/mlprec/mld_z_umf_solver.f90 +++ b/mlprec/mld_z_umf_solver.f90 @@ -109,7 +109,7 @@ contains use psb_sparse_mod type(psb_desc_type), intent(in) :: desc_data 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(in) :: alpha,beta character(len=1),intent(in) :: trans diff --git a/mlprec/mld_zmlprec_aply.f90 b/mlprec/mld_zmlprec_aply.f90 index bf94bba7..145d1715 100644 --- a/mlprec/mld_zmlprec_aply.f90 +++ b/mlprec/mld_zmlprec_aply.f90 @@ -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(mld_zprec_type), intent(in) :: p 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(:) character, intent(in) :: trans complex(psb_dpk_),target :: work(:) diff --git a/mlprec/mld_zprecaply.f90 b/mlprec/mld_zprecaply.f90 index fe90615d..54db0685 100644 --- a/mlprec/mld_zprecaply.f90 +++ b/mlprec/mld_zprecaply.f90 @@ -81,7 +81,7 @@ subroutine mld_zprecaply(prec,x,y,desc_data,info,trans,work) ! Arguments type(psb_desc_type),intent(in) :: desc_data 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(:) integer, intent(out) :: info character(len=1), optional :: trans