From 5c4748c93f20a3878bf2dcad2ed8ed5934afa2c8 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Fri, 30 May 2008 13:57:58 +0000 Subject: [PATCH] psblas2-dev: base/modules/psb_inter_desc_type.f90 base/modules/psb_serial_mod.f90 base/modules/psi_mod.f90 krylov/psb_krylov_mod.f90 prec/psb_prec_mod.f90 prec/psb_prec_type.f90 Fixes for compilation on AIX SP: make sure that modules which are imported in other modules, either directly, or via contained subroutines, or via interfaces, are imported as few times as possible and/or limiting very strictly the set of imported symbols. --- base/modules/psb_inter_desc_type.f90 | 126 ++------- base/modules/psb_serial_mod.f90 | 378 +++++++++++++++++---------- base/modules/psi_mod.f90 | 227 +++++----------- krylov/psb_krylov_mod.f90 | 104 ++++---- prec/psb_prec_mod.f90 | 162 ++++++------ prec/psb_prec_type.f90 | 33 +-- 6 files changed, 471 insertions(+), 559 deletions(-) diff --git a/base/modules/psb_inter_desc_type.f90 b/base/modules/psb_inter_desc_type.f90 index ec0e8217..d0abcc85 100644 --- a/base/modules/psb_inter_desc_type.f90 +++ b/base/modules/psb_inter_desc_type.f90 @@ -36,9 +36,10 @@ ! to different spaces. ! module psb_inter_descriptor_type - use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& - & psb_cspmat_type, psb_zspmat_type - use psb_descriptor_type, only : psb_desc_type + use psb_spmat_type + use psb_descriptor_type + use psb_comm_mod, only : psb_halo + use psb_serial_mod, only : psb_csmm @@ -200,7 +201,6 @@ contains logical function psb_is_asb_inter_desc(desc) - use psb_descriptor_type implicit none type(psb_inter_desc_type), intent(in) :: desc @@ -214,7 +214,6 @@ contains end function psb_is_asb_inter_desc logical function psb_is_ok_inter_desc(desc) - use psb_descriptor_type implicit none type(psb_inter_desc_type), intent(in) :: desc @@ -237,7 +236,6 @@ contains function psb_s_map_sizeof(map) - use psb_spmat_type implicit none type(psb_s_map_type), intent(in) :: map Integer :: psb_s_map_sizeof @@ -251,7 +249,6 @@ contains end function psb_s_map_sizeof function psb_d_map_sizeof(map) - use psb_spmat_type implicit none type(psb_d_map_type), intent(in) :: map Integer :: psb_d_map_sizeof @@ -265,7 +262,6 @@ contains end function psb_d_map_sizeof function psb_c_map_sizeof(map) - use psb_spmat_type implicit none type(psb_c_map_type), intent(in) :: map Integer :: psb_c_map_sizeof @@ -279,7 +275,6 @@ contains end function psb_c_map_sizeof function psb_z_map_sizeof(map) - use psb_spmat_type implicit none type(psb_z_map_type), intent(in) :: map Integer :: psb_z_map_sizeof @@ -293,8 +288,6 @@ contains end function psb_z_map_sizeof function psb_itd_sizeof(desc) - use psb_spmat_type - use psb_descriptor_type implicit none type(psb_inter_desc_type), intent(in) :: desc Integer :: psb_itd_sizeof @@ -313,10 +306,7 @@ contains end function psb_itd_sizeof function psb_s_inter_desc(map_kind,desc1,desc2,map_fw,map_bk,idx_fw,idx_bk) - use psb_spmat_type - use psb_descriptor_type - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type) :: psb_s_inter_desc type(psb_desc_type), target :: desc1, desc2 @@ -360,10 +350,7 @@ contains end function psb_s_inter_desc function psb_s_inter_desc_noidx(map_kind,desc1, desc2, map_fw, map_bk) - use psb_spmat_type - use psb_descriptor_type - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type) :: psb_s_inter_desc_noidx type(psb_desc_type), target :: desc1, desc2 @@ -413,10 +400,7 @@ contains end function psb_s_inter_desc_noidx function psb_d_inter_desc(map_kind,desc1,desc2,map_fw,map_bk,idx_fw,idx_bk) - use psb_spmat_type - use psb_descriptor_type - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type) :: psb_d_inter_desc type(psb_desc_type), target :: desc1, desc2 @@ -460,10 +444,7 @@ contains end function psb_d_inter_desc function psb_d_inter_desc_noidx(map_kind,desc1, desc2, map_fw, map_bk) - use psb_spmat_type - use psb_descriptor_type - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type) :: psb_d_inter_desc_noidx type(psb_desc_type), target :: desc1, desc2 @@ -513,10 +494,7 @@ contains end function psb_d_inter_desc_noidx function psb_c_inter_desc(map_kind,desc1, desc2, map_fw, map_bk, idx_fw, idx_bk) - use psb_spmat_type - use psb_descriptor_type - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type) :: psb_c_inter_desc type(psb_desc_type), target :: desc1, desc2 @@ -560,10 +538,7 @@ contains end function psb_c_inter_desc function psb_c_inter_desc_noidx(map_kind,desc1, desc2, map_fw, map_bk) - use psb_spmat_type - use psb_descriptor_type - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type) :: psb_c_inter_desc_noidx type(psb_desc_type), target :: desc1, desc2 @@ -614,10 +589,7 @@ contains function psb_z_inter_desc(map_kind,desc1, desc2, map_fw, map_bk, idx_fw, idx_bk) - use psb_spmat_type - use psb_descriptor_type - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type) :: psb_z_inter_desc type(psb_desc_type), target :: desc1, desc2 @@ -661,10 +633,7 @@ contains end function psb_z_inter_desc function psb_z_inter_desc_noidx(map_kind,desc1, desc2, map_fw, map_bk) - use psb_spmat_type - use psb_descriptor_type - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type) :: psb_z_inter_desc_noidx type(psb_desc_type), target :: desc1, desc2 @@ -722,11 +691,7 @@ contains ! due to exch_fw_idx ! subroutine psb_s_forward_map(alpha,x,beta,y,desc,info,work) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type), intent(in) :: desc real(psb_spk_), intent(in) :: alpha,beta @@ -796,11 +761,7 @@ contains ! due to exch_bk_idx ! subroutine psb_s_backward_map(alpha,x,beta,y,desc,info,work) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type), intent(in) :: desc real(psb_spk_), intent(in) :: alpha,beta @@ -867,11 +828,6 @@ contains ! due to exch_fw_idx ! subroutine psb_d_forward_map(alpha,x,beta,y,desc,info,work) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod implicit none type(psb_inter_desc_type), intent(in) :: desc real(psb_dpk_), intent(in) :: alpha,beta @@ -941,11 +897,7 @@ contains ! due to exch_bk_idx ! subroutine psb_d_backward_map(alpha,x,beta,y,desc,info,work) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type), intent(in) :: desc real(psb_dpk_), intent(in) :: alpha,beta @@ -1012,11 +964,7 @@ contains ! due to exch_fw_idx ! subroutine psb_c_forward_map(alpha,x,beta,y,desc,info,work) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type), intent(in) :: desc complex(psb_spk_), intent(in) :: alpha,beta @@ -1083,11 +1031,7 @@ contains ! due to exch_bk_idx ! subroutine psb_c_backward_map(alpha,x,beta,y,desc,info,work) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type), intent(in) :: desc complex(psb_spk_), intent(in) :: alpha,beta @@ -1155,11 +1099,7 @@ contains ! due to exch_fw_idx ! subroutine psb_z_forward_map(alpha,x,beta,y,desc,info,work) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type), intent(in) :: desc complex(psb_dpk_), intent(in) :: alpha,beta @@ -1226,11 +1166,7 @@ contains ! due to exch_bk_idx ! subroutine psb_z_backward_map(alpha,x,beta,y,desc,info,work) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none type(psb_inter_desc_type), intent(in) :: desc complex(psb_dpk_), intent(in) :: alpha,beta @@ -1294,11 +1230,7 @@ contains subroutine psb_s_apply_linmap(alpha,x,beta,y,a_map,cd_xt,descin,descout) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none real(psb_spk_), intent(in) :: alpha,beta real(psb_spk_), intent(inout) :: x(:),y(:) @@ -1322,11 +1254,7 @@ contains subroutine psb_d_apply_linmap(alpha,x,beta,y,a_map,cd_xt,descin,descout) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none real(psb_dpk_), intent(in) :: alpha,beta real(psb_dpk_), intent(inout) :: x(:),y(:) @@ -1350,11 +1278,7 @@ contains subroutine psb_c_apply_linmap(alpha,x,beta,y,a_map,cd_xt,descin,descout) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none complex(psb_spk_), intent(in) :: alpha,beta complex(psb_spk_), intent(inout) :: x(:),y(:) @@ -1377,11 +1301,7 @@ contains end subroutine psb_c_apply_linmap subroutine psb_z_apply_linmap(alpha,x,beta,y,a_map,cd_xt,descin,descout) - use psb_spmat_type - use psb_descriptor_type - use psb_comm_mod - use psb_serial_mod - use psi_mod + implicit none complex(psb_dpk_), intent(in) :: alpha,beta complex(psb_dpk_), intent(inout) :: x(:),y(:) diff --git a/base/modules/psb_serial_mod.f90 b/base/modules/psb_serial_mod.f90 index e59ea422..58725912 100644 --- a/base/modules/psb_serial_mod.f90 +++ b/base/modules/psb_serial_mod.f90 @@ -41,14 +41,16 @@ module psb_serial_mod interface psb_csrws subroutine psb_dcsrws(rw,a,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type) :: a real(psb_dpk_), allocatable :: rw(:) integer :: info character, optional :: trans end subroutine psb_dcsrws subroutine psb_zcsrws(rw,a,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type) :: a complex(psb_dpk_), allocatable :: rw(:) integer :: info @@ -58,7 +60,8 @@ module psb_serial_mod interface psb_cssm subroutine psb_scssm(alpha,t,b,beta,c,info,trans,unitd,d) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type) :: t real(psb_spk_) :: alpha, beta, b(:,:), c(:,:) integer :: info @@ -66,7 +69,8 @@ module psb_serial_mod real(psb_spk_), optional, target :: d(:) end subroutine psb_scssm subroutine psb_scssv(alpha,t,b,beta,c,info,trans,unitd,d) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type) :: t real(psb_spk_) :: alpha, beta, b(:), c(:) integer :: info @@ -74,7 +78,8 @@ module psb_serial_mod real(psb_spk_), optional, target :: d(:) end subroutine psb_scssv subroutine psb_dcssm(alpha,t,b,beta,c,info,trans,unitd,d) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type) :: t real(psb_dpk_) :: alpha, beta, b(:,:), c(:,:) integer :: info @@ -82,7 +87,8 @@ module psb_serial_mod real(psb_dpk_), optional, target :: d(:) end subroutine psb_dcssm subroutine psb_dcssv(alpha,t,b,beta,c,info,trans,unitd,d) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type) :: t real(psb_dpk_) :: alpha, beta, b(:), c(:) integer :: info @@ -90,7 +96,8 @@ module psb_serial_mod real(psb_dpk_), optional, target :: d(:) end subroutine psb_dcssv subroutine psb_ccssm(alpha,t,b,beta,c,info,trans,unitd,d) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type) :: t complex(psb_spk_) :: alpha, beta, b(:,:), c(:,:) integer :: info @@ -98,7 +105,8 @@ module psb_serial_mod complex(psb_spk_), optional, target :: d(:) end subroutine psb_ccssm subroutine psb_ccssv(alpha,t,b,beta,c,info,trans,unitd,d) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type) :: t complex(psb_spk_) :: alpha, beta, b(:), c(:) integer :: info @@ -106,7 +114,8 @@ module psb_serial_mod complex(psb_spk_), optional, target :: d(:) end subroutine psb_ccssv subroutine psb_zcssm(alpha,t,b,beta,c,info,trans,unitd,d) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type) :: t complex(psb_dpk_) :: alpha, beta, b(:,:), c(:,:) integer :: info @@ -114,7 +123,8 @@ module psb_serial_mod complex(psb_dpk_), optional, target :: d(:) end subroutine psb_zcssm subroutine psb_zcssv(alpha,t,b,beta,c,info,trans,unitd,d) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type) :: t complex(psb_dpk_) :: alpha, beta, b(:), c(:) integer :: info @@ -125,56 +135,64 @@ module psb_serial_mod interface psb_csmm subroutine psb_scsmv(alpha,a,b,beta,c,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type) :: a real(psb_spk_) :: alpha, beta, b(:), c(:) integer :: info character, optional :: trans end subroutine psb_scsmv subroutine psb_scsmm(alpha,a,b,beta,c,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type) :: a real(psb_spk_) :: alpha, beta, b(:,:), c(:,:) integer :: info character, optional :: trans end subroutine psb_scsmm subroutine psb_dcsmv(alpha,a,b,beta,c,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type) :: a real(psb_dpk_) :: alpha, beta, b(:), c(:) integer :: info character, optional :: trans end subroutine psb_dcsmv subroutine psb_dcsmm(alpha,a,b,beta,c,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type) :: a real(psb_dpk_) :: alpha, beta, b(:,:), c(:,:) integer :: info character, optional :: trans end subroutine psb_dcsmm subroutine psb_ccsmv(alpha,a,b,beta,c,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type) :: a complex(psb_spk_) :: alpha, beta, b(:), c(:) integer :: info character, optional :: trans end subroutine psb_ccsmv subroutine psb_ccsmm(alpha,a,b,beta,c,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type) :: a complex(psb_spk_) :: alpha, beta, b(:,:), c(:,:) integer :: info character, optional :: trans end subroutine psb_ccsmm subroutine psb_zcsmv(alpha,a,b,beta,c,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type) :: a complex(psb_dpk_) :: alpha, beta, b(:), c(:) integer :: info character, optional :: trans end subroutine psb_zcsmv subroutine psb_zcsmm(alpha,a,b,beta,c,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type) :: a complex(psb_dpk_) :: alpha, beta, b(:,:), c(:,:) integer :: info @@ -192,7 +210,8 @@ module psb_serial_mod interface psb_spcnv subroutine psb_sspcnv2(ain, a, info, afmt, upd, dupl) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent (in) :: ain type(psb_sspmat_type), intent (out) :: a integer, intent(out) :: info @@ -200,14 +219,16 @@ module psb_serial_mod character(len=*), optional, intent(in) :: afmt end subroutine psb_sspcnv2 subroutine psb_sspcnv1(a, info, afmt, upd, dupl) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent (inout) :: a integer, intent(out) :: info integer,optional, intent(in) :: dupl, upd character(len=*), optional, intent(in) :: afmt end subroutine psb_sspcnv1 subroutine psb_dspcnv2(ain, a, info, afmt, upd, dupl) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent (in) :: ain type(psb_dspmat_type), intent (out) :: a integer, intent(out) :: info @@ -215,14 +236,16 @@ module psb_serial_mod character(len=*), optional, intent(in) :: afmt end subroutine psb_dspcnv2 subroutine psb_dspcnv1(a, info, afmt, upd, dupl) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent (inout) :: a integer, intent(out) :: info integer,optional, intent(in) :: dupl, upd character(len=*), optional, intent(in) :: afmt end subroutine psb_dspcnv1 subroutine psb_cspcnv2(ain, a, info, afmt, upd, dupl) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent (in) :: ain type(psb_cspmat_type), intent (out) :: a integer, intent(out) :: info @@ -230,14 +253,16 @@ module psb_serial_mod character(len=*), optional, intent(in) :: afmt end subroutine psb_cspcnv2 subroutine psb_cspcnv1(a, info, afmt, upd, dupl) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent (inout) :: a integer, intent(out) :: info integer,optional, intent(in) :: dupl, upd character(len=*), optional, intent(in) :: afmt end subroutine psb_cspcnv1 subroutine psb_zspcnv2(ain, a, info, afmt, upd, dupl) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent (in) :: ain type(psb_zspmat_type), intent (out) :: a integer, intent(out) :: info @@ -245,7 +270,8 @@ module psb_serial_mod character(len=*), optional, intent(in) :: afmt end subroutine psb_zspcnv2 subroutine psb_zspcnv1(a, info, afmt, upd, dupl) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent (inout) :: a integer, intent(out) :: info integer,optional, intent(in) :: dupl, upd @@ -257,25 +283,29 @@ module psb_serial_mod interface psb_fixcoo subroutine psb_sfixcoo(a,info,idir) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(inout) :: a integer, intent(out) :: info integer, intent(in), optional :: idir end subroutine psb_sfixcoo subroutine psb_dfixcoo(a,info,idir) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(inout) :: a integer, intent(out) :: info integer, intent(in), optional :: idir end subroutine psb_dfixcoo subroutine psb_cfixcoo(a,info,idir) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(inout) :: a integer, intent(out) :: info integer, intent(in), optional :: idir end subroutine psb_cfixcoo subroutine psb_zfixcoo(a,info,idir) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(inout) :: a integer, intent(out) :: info integer, intent(in), optional :: idir @@ -284,25 +314,29 @@ module psb_serial_mod interface psb_ipcoo2csr subroutine psb_sipcoo2csr(a,info,rwshr) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(inout) :: a integer, intent(out) :: info logical, optional :: rwshr end subroutine psb_sipcoo2csr subroutine psb_dipcoo2csr(a,info,rwshr) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(inout) :: a integer, intent(out) :: info logical, optional :: rwshr end subroutine psb_dipcoo2csr subroutine psb_cipcoo2csr(a,info,rwshr) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(inout) :: a integer, intent(out) :: info logical, optional :: rwshr end subroutine psb_cipcoo2csr subroutine psb_zipcoo2csr(a,info,rwshr) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(inout) :: a integer, intent(out) :: info logical, optional :: rwshr @@ -311,25 +345,29 @@ module psb_serial_mod interface psb_ipcoo2csc subroutine psb_sipcoo2csc(a,info,clshr) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(inout) :: a integer, intent(out) :: info logical, optional :: clshr end subroutine psb_sipcoo2csc subroutine psb_dipcoo2csc(a,info,clshr) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(inout) :: a integer, intent(out) :: info logical, optional :: clshr end subroutine psb_dipcoo2csc subroutine psb_cipcoo2csc(a,info,clshr) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(inout) :: a integer, intent(out) :: info logical, optional :: clshr end subroutine psb_cipcoo2csc subroutine psb_zipcoo2csc(a,info,clshr) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(inout) :: a integer, intent(out) :: info logical, optional :: clshr @@ -338,22 +376,26 @@ module psb_serial_mod interface psb_ipcsr2coo subroutine psb_sipcsr2coo(a,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(inout) :: a integer, intent(out) :: info end subroutine psb_sipcsr2coo subroutine psb_dipcsr2coo(a,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(inout) :: a integer, intent(out) :: info end subroutine psb_dipcsr2coo subroutine psb_cipcsr2coo(a,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(inout) :: a integer, intent(out) :: info end subroutine psb_cipcsr2coo subroutine psb_zipcsr2coo(a,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(inout) :: a integer, intent(out) :: info end subroutine psb_zipcsr2coo @@ -361,7 +403,8 @@ module psb_serial_mod interface psb_csprt subroutine psb_scsprt(iout,a,iv,irs,ics,head,ivr,ivc) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: iout type(psb_sspmat_type), intent(in) :: a integer, intent(in), optional :: iv(:) @@ -370,7 +413,8 @@ module psb_serial_mod integer, intent(in), optional :: ivr(:),ivc(:) end subroutine psb_scsprt subroutine psb_dcsprt(iout,a,iv,irs,ics,head,ivr,ivc) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: iout type(psb_dspmat_type), intent(in) :: a integer, intent(in), optional :: iv(:) @@ -379,7 +423,8 @@ module psb_serial_mod integer, intent(in), optional :: ivr(:),ivc(:) end subroutine psb_dcsprt subroutine psb_ccsprt(iout,a,iv,irs,ics,head,ivr,ivc) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: iout type(psb_cspmat_type), intent(in) :: a integer, intent(in), optional :: iv(:) @@ -388,7 +433,8 @@ module psb_serial_mod integer, intent(in), optional :: ivr(:),ivc(:) end subroutine psb_ccsprt subroutine psb_zcsprt(iout,a,iv,irs,ics,head,ivr,ivc) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: iout type(psb_zspmat_type), intent(in) :: a integer, intent(in), optional :: iv(:) @@ -400,7 +446,8 @@ module psb_serial_mod interface psb_neigh subroutine psb_sneigh(a,idx,neigh,n,info,lev) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(in) :: a integer, intent(in) :: idx integer, intent(out) :: n @@ -409,7 +456,8 @@ module psb_serial_mod integer, optional, intent(in) :: lev end subroutine psb_sneigh subroutine psb_dneigh(a,idx,neigh,n,info,lev) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(in) :: a integer, intent(in) :: idx integer, intent(out) :: n @@ -418,7 +466,8 @@ module psb_serial_mod integer, optional, intent(in) :: lev end subroutine psb_dneigh subroutine psb_cneigh(a,idx,neigh,n,info,lev) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(in) :: a integer, intent(in) :: idx integer, intent(out) :: n @@ -427,7 +476,8 @@ module psb_serial_mod integer, optional, intent(in) :: lev end subroutine psb_cneigh subroutine psb_zneigh(a,idx,neigh,n,info,lev) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(in) :: a integer, intent(in) :: idx integer, intent(out) :: n @@ -439,7 +489,8 @@ module psb_serial_mod interface psb_coins subroutine psb_scoins(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl,rebuild) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: nz, imin,imax,jmin,jmax integer, intent(in) :: ia(:),ja(:) real(psb_spk_), intent(in) :: val(:) @@ -449,7 +500,8 @@ module psb_serial_mod logical, optional, intent(in) :: rebuild end subroutine psb_scoins subroutine psb_dcoins(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl,rebuild) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: nz, imin,imax,jmin,jmax integer, intent(in) :: ia(:),ja(:) real(psb_dpk_), intent(in) :: val(:) @@ -459,7 +511,8 @@ module psb_serial_mod logical, optional, intent(in) :: rebuild end subroutine psb_dcoins subroutine psb_ccoins(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl,rebuild) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: nz, imin,imax,jmin,jmax integer, intent(in) :: ia(:),ja(:) complex(psb_spk_), intent(in) :: val(:) @@ -469,7 +522,8 @@ module psb_serial_mod logical, optional, intent(in) :: rebuild end subroutine psb_ccoins subroutine psb_zcoins(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl,rebuild) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: nz, imin,imax,jmin,jmax integer, intent(in) :: ia(:),ja(:) complex(psb_dpk_), intent(in) :: val(:) @@ -483,22 +537,26 @@ module psb_serial_mod interface psb_symbmm subroutine psb_ssymbmm(a,b,c,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type) :: a,b,c integer :: info end subroutine psb_ssymbmm subroutine psb_dsymbmm(a,b,c,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type) :: a,b,c integer :: info end subroutine psb_dsymbmm subroutine psb_csymbmm(a,b,c,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type) :: a,b,c integer :: info end subroutine psb_csymbmm subroutine psb_zsymbmm(a,b,c,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type) :: a,b,c integer :: info end subroutine psb_zsymbmm @@ -506,72 +564,80 @@ module psb_serial_mod interface psb_numbmm subroutine psb_snumbmm(a,b,c) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type) :: a,b,c end subroutine psb_snumbmm subroutine psb_dnumbmm(a,b,c) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type) :: a,b,c end subroutine psb_dnumbmm subroutine psb_cnumbmm(a,b,c) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type) :: a,b,c end subroutine psb_cnumbmm subroutine psb_znumbmm(a,b,c) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type) :: a,b,c end subroutine psb_znumbmm end interface interface psb_transp subroutine psb_stransp(a,b,c,fmt) - use psb_spmat_type - type(psb_sspmat_type), intent(in) :: a - type(psb_sspmat_type), intent(out) :: b + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ + type(psb_sspmat_type) :: a,b integer, optional :: c character(len=*), optional :: fmt end subroutine psb_stransp + subroutine psb_dtransp(a,b,c,fmt) + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ + type(psb_dspmat_type) :: a,b + integer, optional :: c + character(len=*), optional :: fmt + end subroutine psb_dtransp + subroutine psb_ctransp(a,b,c,fmt) + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ + type(psb_cspmat_type) :: a,b + integer, optional :: c + character(len=*), optional :: fmt + end subroutine psb_ctransp + subroutine psb_ztransp(a,b,c,fmt) + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ + type(psb_zspmat_type) :: a,b + integer, optional :: c + character(len=*), optional :: fmt + end subroutine psb_ztransp subroutine psb_stransp1(a,c,fmt) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type) :: a integer, optional :: c character(len=*), optional :: fmt end subroutine psb_stransp1 - subroutine psb_dtransp(a,b,c,fmt) - use psb_spmat_type - type(psb_dspmat_type), intent(in) :: a - type(psb_dspmat_type), intent(out) :: b - integer, optional :: c - character(len=*), optional :: fmt - end subroutine psb_dtransp subroutine psb_dtransp1(a,c,fmt) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type) :: a integer, optional :: c character(len=*), optional :: fmt end subroutine psb_dtransp1 - subroutine psb_ctransp(a,b,c,fmt) - use psb_spmat_type - type(psb_cspmat_type), intent(in) :: a - type(psb_cspmat_type), intent(out) :: b - integer, optional :: c - character(len=*), optional :: fmt - end subroutine psb_ctransp subroutine psb_ctransp1(a,c,fmt) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type) :: a integer, optional :: c character(len=*), optional :: fmt end subroutine psb_ctransp1 - subroutine psb_ztransp(a,b,c,fmt) - use psb_spmat_type - type(psb_zspmat_type), intent(in) :: a - type(psb_zspmat_type), intent(out) :: b - integer, optional :: c - character(len=*), optional :: fmt - end subroutine psb_ztransp subroutine psb_ztransp1(a,c,fmt) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type) :: a integer, optional :: c character(len=*), optional :: fmt @@ -580,16 +646,16 @@ module psb_serial_mod interface psb_transc subroutine psb_ctransc(a,b,c,fmt) - use psb_spmat_type - type(psb_cspmat_type), intent(in) :: a - type(psb_cspmat_type), intent(out) :: b + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ + type(psb_cspmat_type) :: a,b integer, optional :: c character(len=*), optional :: fmt end subroutine psb_ctransc subroutine psb_ztransc(a,b,c,fmt) - use psb_spmat_type - type(psb_zspmat_type), intent(in) :: a - type(psb_zspmat_type), intent(out) :: b + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ + type(psb_zspmat_type) :: a,b integer, optional :: c character(len=*), optional :: fmt end subroutine psb_ztransc @@ -597,7 +663,8 @@ module psb_serial_mod interface psb_rwextd subroutine psb_srwextd(nr,a,info,b,rowscale) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: nr type(psb_sspmat_type), intent(inout) :: a integer, intent(out) :: info @@ -605,7 +672,8 @@ module psb_serial_mod logical, intent(in), optional :: rowscale end subroutine psb_srwextd subroutine psb_drwextd(nr,a,info,b,rowscale) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: nr type(psb_dspmat_type), intent(inout) :: a integer, intent(out) :: info @@ -613,7 +681,8 @@ module psb_serial_mod logical, intent(in), optional :: rowscale end subroutine psb_drwextd subroutine psb_crwextd(nr,a,info,b,rowscale) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: nr type(psb_cspmat_type), intent(inout) :: a integer, intent(out) :: info @@ -621,7 +690,8 @@ module psb_serial_mod logical, intent(in), optional :: rowscale end subroutine psb_crwextd subroutine psb_zrwextd(nr,a,info,b,rowscale) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ integer, intent(in) :: nr type(psb_zspmat_type), intent(inout) :: a integer, intent(out) :: info @@ -632,28 +702,32 @@ module psb_serial_mod interface psb_csnmi function psb_scsnmi(a,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(in) :: a integer, intent(out) :: info character, optional :: trans real(psb_spk_) :: psb_scsnmi end function psb_scsnmi function psb_dcsnmi(a,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(in) :: a integer, intent(out) :: info character, optional :: trans real(psb_dpk_) :: psb_dcsnmi end function psb_dcsnmi function psb_ccsnmi(a,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(in) :: a integer, intent(out) :: info character, optional :: trans real(psb_spk_) :: psb_ccsnmi end function psb_ccsnmi function psb_zcsnmi(a,info,trans) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(in) :: a integer, intent(out) :: info character, optional :: trans @@ -663,7 +737,8 @@ module psb_serial_mod interface psb_sp_clip subroutine psb_sspclip(a,b,info,imin,imax,jmin,jmax,rscale,cscale) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ implicit none type(psb_sspmat_type), intent(in) :: a type(psb_sspmat_type), intent(out) :: b @@ -672,7 +747,8 @@ module psb_serial_mod logical, intent(in), optional :: rscale,cscale end subroutine psb_sspclip subroutine psb_dspclip(a,b,info,imin,imax,jmin,jmax,rscale,cscale) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ implicit none type(psb_dspmat_type), intent(in) :: a type(psb_dspmat_type), intent(out) :: b @@ -681,7 +757,8 @@ module psb_serial_mod logical, intent(in), optional :: rscale,cscale end subroutine psb_dspclip subroutine psb_cspclip(a,b,info,imin,imax,jmin,jmax,rscale,cscale) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ implicit none type(psb_cspmat_type), intent(in) :: a type(psb_cspmat_type), intent(out) :: b @@ -690,7 +767,8 @@ module psb_serial_mod logical, intent(in), optional :: rscale,cscale end subroutine psb_cspclip subroutine psb_zspclip(a,b,info,imin,imax,jmin,jmax,rscale,cscale) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ implicit none type(psb_zspmat_type), intent(in) :: a type(psb_zspmat_type), intent(out) :: b @@ -702,25 +780,29 @@ module psb_serial_mod interface psb_sp_getdiag subroutine psb_sspgtdiag(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(in) :: a real(psb_spk_), intent(inout) :: d(:) integer, intent(out) :: info end subroutine psb_sspgtdiag subroutine psb_dspgtdiag(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(in) :: a real(psb_dpk_), intent(inout) :: d(:) integer, intent(out) :: info end subroutine psb_dspgtdiag subroutine psb_cspgtdiag(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(in) :: a complex(psb_spk_), intent(inout) :: d(:) integer, intent(out) :: info end subroutine psb_cspgtdiag subroutine psb_zspgtdiag(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(in) :: a complex(psb_dpk_), intent(inout) :: d(:) integer, intent(out) :: info @@ -729,49 +811,57 @@ module psb_serial_mod interface psb_sp_scal subroutine psb_sspscals(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(inout) :: a real(psb_spk_), intent(in) :: d integer, intent(out) :: info end subroutine psb_sspscals subroutine psb_sspscal(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(inout) :: a real(psb_spk_), intent(in) :: d(:) integer, intent(out) :: info end subroutine psb_sspscal subroutine psb_dspscals(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(inout) :: a real(psb_dpk_), intent(in) :: d integer, intent(out) :: info end subroutine psb_dspscals subroutine psb_dspscal(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(inout) :: a real(psb_dpk_), intent(in) :: d(:) integer, intent(out) :: info end subroutine psb_dspscal subroutine psb_cspscals(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(inout) :: a complex(psb_spk_), intent(in) :: d integer, intent(out) :: info end subroutine psb_cspscals subroutine psb_cspscal(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(inout) :: a complex(psb_spk_), intent(in) :: d(:) integer, intent(out) :: info end subroutine psb_cspscal subroutine psb_zspscals(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(inout) :: a complex(psb_dpk_), intent(in) :: d integer, intent(out) :: info end subroutine psb_zspscals subroutine psb_zspscal(a,d,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(inout) :: a complex(psb_dpk_), intent(in) :: d(:) integer, intent(out) :: info @@ -781,23 +871,27 @@ module psb_serial_mod interface psb_sp_setbld subroutine psb_dspsetbld1(a,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(inout) :: a integer, intent(out) :: info end subroutine psb_dspsetbld1 subroutine psb_dspsetbld2(a,b,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(in) :: a type(psb_dspmat_type), intent(out) :: b integer, intent(out) :: info end subroutine psb_dspsetbld2 subroutine psb_zspsetbld1(a,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(inout) :: a integer, intent(out) :: info end subroutine psb_zspsetbld1 subroutine psb_zspsetbld2(a,b,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(in) :: a type(psb_zspmat_type), intent(out) :: b integer, intent(out) :: info @@ -806,14 +900,16 @@ module psb_serial_mod interface psb_sp_shift subroutine psb_dspshift(alpha,a,beta,b,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(in) :: a type(psb_dspmat_type), intent(out) :: b real(psb_dpk_), intent(in) :: alpha, beta integer, intent(out) :: info end subroutine psb_dspshift subroutine psb_zspshift(alpha,a,beta,b,info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(in) :: a type(psb_zspmat_type), intent(out) :: b complex(psb_dpk_), intent(in) :: alpha, beta @@ -823,7 +919,8 @@ module psb_serial_mod interface psb_sp_getblk subroutine psb_sspgtblk(irw,a,b,info,append,iren,lrw,srt) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_sspmat_type), intent(in) :: a integer, intent(in) :: irw type(psb_sspmat_type), intent(inout) :: b @@ -834,7 +931,8 @@ module psb_serial_mod logical, intent(in), optional :: srt end subroutine psb_sspgtblk subroutine psb_dspgtblk(irw,a,b,info,append,iren,lrw,srt) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(in) :: a integer, intent(in) :: irw type(psb_dspmat_type), intent(inout) :: b @@ -845,7 +943,8 @@ module psb_serial_mod logical, intent(in), optional :: srt end subroutine psb_dspgtblk subroutine psb_cspgtblk(irw,a,b,info,append,iren,lrw,srt) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_cspmat_type), intent(in) :: a integer, intent(in) :: irw type(psb_cspmat_type), intent(inout) :: b @@ -856,7 +955,8 @@ module psb_serial_mod logical, intent(in), optional :: srt end subroutine psb_cspgtblk subroutine psb_zspgtblk(irw,a,b,info,append,iren,lrw,srt) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(in) :: a integer, intent(in) :: irw type(psb_zspmat_type), intent(inout) :: b @@ -871,7 +971,8 @@ module psb_serial_mod interface psb_sp_getrow subroutine psb_sspgetrow(irw,a,nz,ia,ja,val,info,iren,lrw,append,nzin) ! Output is always in COO format - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ implicit none type(psb_sspmat_type), intent(in) :: a @@ -886,7 +987,8 @@ module psb_serial_mod end subroutine psb_sspgetrow subroutine psb_dspgetrow(irw,a,nz,ia,ja,val,info,iren,lrw,append,nzin) ! Output is always in COO format - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ implicit none type(psb_dspmat_type), intent(in) :: a @@ -901,7 +1003,8 @@ module psb_serial_mod end subroutine psb_dspgetrow subroutine psb_cspgetrow(irw,a,nz,ia,ja,val,info,iren,lrw,append,nzin) ! Output is always in COO format - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ implicit none type(psb_cspmat_type), intent(in) :: a @@ -916,7 +1019,8 @@ module psb_serial_mod end subroutine psb_cspgetrow subroutine psb_zspgetrow(irw,a,nz,ia,ja,val,info,iren,lrw,append,nzin) ! Output is always in COO format - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ implicit none type(psb_zspmat_type), intent(in) :: a @@ -935,13 +1039,15 @@ module psb_serial_mod interface psb_csrp subroutine psb_dcsrp(trans,iperm,a, info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_dspmat_type), intent(inout) :: a integer, intent(inout) :: iperm(:), info character, intent(in) :: trans end subroutine psb_dcsrp subroutine psb_zcsrp(trans,iperm,a, info) - use psb_spmat_type + use psb_spmat_type, only : psb_sspmat_type, psb_dspmat_type,& + & psb_cspmat_type, psb_zspmat_type, psb_spk_, psb_dpk_ type(psb_zspmat_type), intent(inout) :: a integer, intent(inout) :: iperm(:), info character, intent(in) :: trans diff --git a/base/modules/psi_mod.f90 b/base/modules/psi_mod.f90 index a7ee0923..3d47847f 100644 --- a/base/modules/psi_mod.f90 +++ b/base/modules/psi_mod.f90 @@ -32,6 +32,10 @@ module psi_mod use psi_serial_mod + use psb_descriptor_type + use psb_const_mod + use psb_error_mod + use psb_penv_mod interface @@ -53,7 +57,7 @@ module psi_mod interface subroutine psi_crea_index(desc_a,index_in,index_out,glob_idx,nxch,nsnd,nrcv,info) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info,nxch,nsnd,nrcv integer, intent(in) :: index_in(:) @@ -73,7 +77,7 @@ module psi_mod interface subroutine psi_desc_index(desc,index_in,dep_list,& & length_dl,nsnd,nrcv,desc_index,isglob_in,info) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ type(psb_desc_type) :: desc integer :: index_in(:),dep_list(:) integer,allocatable, intent(inout) :: desc_index(:) @@ -97,7 +101,7 @@ module psi_mod interface psi_swapdata subroutine psi_sswapdatam(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info real(psb_spk_) :: y(:,:), beta @@ -106,7 +110,7 @@ module psi_mod integer, optional :: data end subroutine psi_sswapdatam subroutine psi_sswapdatav(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info real(psb_spk_) :: y(:), beta @@ -131,7 +135,7 @@ module psi_mod integer, intent(in) :: idx(:),totxch,totsnd,totrcv end subroutine psi_sswapidxv subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info real(psb_dpk_) :: y(:,:), beta @@ -140,7 +144,7 @@ module psi_mod integer, optional :: data end subroutine psi_dswapdatam subroutine psi_dswapdatav(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info real(psb_dpk_) :: y(:), beta @@ -165,7 +169,7 @@ module psi_mod integer, intent(in) :: idx(:),totxch,totsnd,totrcv end subroutine psi_dswapidxv subroutine psi_iswapdatam(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info integer :: y(:,:), beta @@ -174,7 +178,7 @@ module psi_mod integer, optional :: data end subroutine psi_iswapdatam subroutine psi_iswapdatav(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info integer :: y(:), beta @@ -199,7 +203,7 @@ module psi_mod integer, intent(in) :: idx(:),totxch,totsnd,totrcv end subroutine psi_iswapidxv subroutine psi_cswapdatam(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info complex(psb_spk_) :: y(:,:), beta @@ -208,7 +212,7 @@ module psi_mod integer, optional :: data end subroutine psi_cswapdatam subroutine psi_cswapdatav(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info complex(psb_spk_) :: y(:), beta @@ -233,7 +237,7 @@ module psi_mod integer, intent(in) :: idx(:),totxch,totsnd,totrcv end subroutine psi_cswapidxv subroutine psi_zswapdatam(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info complex(psb_dpk_) :: y(:,:), beta @@ -242,7 +246,7 @@ module psi_mod integer, optional :: data end subroutine psi_zswapdatam subroutine psi_zswapdatav(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info complex(psb_dpk_) :: y(:), beta @@ -271,7 +275,7 @@ module psi_mod interface psi_swaptran subroutine psi_sswaptranm(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info real(psb_spk_) :: y(:,:), beta @@ -280,7 +284,7 @@ module psi_mod integer, optional :: data end subroutine psi_sswaptranm subroutine psi_sswaptranv(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info real(psb_spk_) :: y(:), beta @@ -305,7 +309,7 @@ module psi_mod integer, intent(in) :: idx(:),totxch,totsnd,totrcv end subroutine psi_stranidxv subroutine psi_dswaptranm(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info real(psb_dpk_) :: y(:,:), beta @@ -314,7 +318,7 @@ module psi_mod integer, optional :: data end subroutine psi_dswaptranm subroutine psi_dswaptranv(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info real(psb_dpk_) :: y(:), beta @@ -339,7 +343,7 @@ module psi_mod integer, intent(in) :: idx(:),totxch,totsnd,totrcv end subroutine psi_dtranidxv subroutine psi_iswaptranm(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info integer :: y(:,:), beta @@ -348,7 +352,7 @@ module psi_mod integer, optional :: data end subroutine psi_iswaptranm subroutine psi_iswaptranv(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info integer :: y(:), beta @@ -373,7 +377,7 @@ module psi_mod integer, intent(in) :: idx(:),totxch,totsnd,totrcv end subroutine psi_itranidxv subroutine psi_cswaptranm(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info complex(psb_spk_) :: y(:,:), beta @@ -382,7 +386,7 @@ module psi_mod integer, optional :: data end subroutine psi_cswaptranm subroutine psi_cswaptranv(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info complex(psb_spk_) :: y(:), beta @@ -407,7 +411,7 @@ module psi_mod integer, intent(in) :: idx(:),totxch,totsnd,totrcv end subroutine psi_ctranidxv subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag, n integer, intent(out) :: info complex(psb_dpk_) :: y(:,:), beta @@ -416,7 +420,7 @@ module psi_mod integer, optional :: data end subroutine psi_zswaptranm subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: flag integer, intent(out) :: info complex(psb_dpk_) :: y(:), beta @@ -451,7 +455,7 @@ module psi_mod end interface interface psi_fnd_owner subroutine psi_fnd_owner(nv,idx,iprc,desc,info) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: nv integer, intent(in) :: idx(:) integer, allocatable, intent(out) :: iprc(:) @@ -462,7 +466,7 @@ module psi_mod interface psi_ldsc_pre_halo subroutine psi_ldsc_pre_halo(desc,ext_hv,info) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ type(psb_desc_type), intent(inout) :: desc logical, intent(in) :: ext_hv integer, intent(out) :: info @@ -471,7 +475,7 @@ module psi_mod interface psi_bld_hash subroutine psi_bld_hash(desc,info) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ type(psb_desc_type), intent(inout) :: desc integer, intent(out) :: info end subroutine psi_bld_hash @@ -479,7 +483,7 @@ module psi_mod interface psi_bld_tmphalo subroutine psi_bld_tmphalo(desc,info) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ type(psb_desc_type), intent(inout) :: desc integer, intent(out) :: info end subroutine psi_bld_tmphalo @@ -488,7 +492,7 @@ module psi_mod interface psi_bld_tmpovrl subroutine psi_bld_tmpovrl(iv,desc,info) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: iv(:) type(psb_desc_type), intent(inout) :: desc integer, intent(out) :: info @@ -498,7 +502,7 @@ module psi_mod interface psi_idx_cnv subroutine psi_idx_cnv1(nv,idxin,desc,info,mask,owned) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: nv integer, intent(inout) :: idxin(:) type(psb_desc_type), intent(in) :: desc @@ -507,7 +511,7 @@ module psi_mod logical, intent(in), optional :: owned end subroutine psi_idx_cnv1 subroutine psi_idx_cnv2(nv,idxin,idxout,desc,info,mask,owned) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: nv, idxin(:) integer, intent(out) :: idxout(:) type(psb_desc_type), intent(in) :: desc @@ -516,7 +520,7 @@ module psi_mod logical, intent(in), optional :: owned end subroutine psi_idx_cnv2 subroutine psi_idx_cnvs(idxin,idxout,desc,info,mask,owned) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: idxin integer, intent(out) :: idxout type(psb_desc_type), intent(in) :: desc @@ -528,7 +532,7 @@ module psi_mod interface psi_idx_ins_cnv subroutine psi_idx_ins_cnv1(nv,idxin,desc,info,mask) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: nv integer, intent(inout) :: idxin(:) type(psb_desc_type), intent(inout) :: desc @@ -536,7 +540,7 @@ module psi_mod logical, intent(in), optional, target :: mask(:) end subroutine psi_idx_ins_cnv1 subroutine psi_idx_ins_cnv2(nv,idxin,idxout,desc,info,mask) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: nv, idxin(:) integer, intent(out) :: idxout(:) type(psb_desc_type), intent(inout) :: desc @@ -544,7 +548,7 @@ module psi_mod logical, intent(in), optional, target :: mask(:) end subroutine psi_idx_ins_cnv2 subroutine psi_idx_ins_cnvs(idxin,idxout,desc,info,mask) - use psb_descriptor_type + use psb_descriptor_type, only : psb_desc_type, psb_spk_, psb_dpk_ integer, intent(in) :: idxin integer, intent(out) :: idxout type(psb_desc_type), intent(inout) :: desc @@ -590,10 +594,6 @@ contains subroutine psi_cnv_dsc(halo_in,ovrlap_in,ext_in,cdesc, info) - use psb_const_mod - use psb_error_mod - use psb_penv_mod - use psb_descriptor_type use psb_realloc_mod implicit none @@ -826,10 +826,7 @@ contains end subroutine psi_inner_cnv2 subroutine psi_sovrl_updr1(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none real(psb_spk_), intent(inout), target :: x(:) @@ -898,10 +895,7 @@ contains subroutine psi_sovrl_updr2(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none real(psb_spk_), intent(inout), target :: x(:,:) @@ -969,10 +963,7 @@ contains end subroutine psi_sovrl_updr2 subroutine psi_dovrl_updr1(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none real(psb_dpk_), intent(inout), target :: x(:) @@ -1041,10 +1032,7 @@ contains subroutine psi_dovrl_updr2(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none real(psb_dpk_), intent(inout), target :: x(:,:) @@ -1112,10 +1100,7 @@ contains end subroutine psi_dovrl_updr2 subroutine psi_covrl_updr1(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none complex(psb_spk_), intent(inout), target :: x(:) @@ -1184,10 +1169,7 @@ contains subroutine psi_covrl_updr2(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none complex(psb_spk_), intent(inout), target :: x(:,:) @@ -1255,10 +1237,7 @@ contains end subroutine psi_covrl_updr2 subroutine psi_zovrl_updr1(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none complex(psb_dpk_), intent(inout), target :: x(:) @@ -1327,10 +1306,7 @@ contains subroutine psi_zovrl_updr2(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none complex(psb_dpk_), intent(inout), target :: x(:,:) @@ -1398,10 +1374,7 @@ contains end subroutine psi_zovrl_updr2 subroutine psi_iovrl_updr1(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none integer, intent(inout), target :: x(:) @@ -1471,10 +1444,7 @@ contains subroutine psi_iovrl_updr2(x,desc_a,update,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none integer, intent(inout), target :: x(:,:) @@ -1544,11 +1514,8 @@ contains subroutine psi_sovrl_saver1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod use psb_realloc_mod - use psb_penv_mod + implicit none real(psb_spk_), intent(inout) :: x(:) @@ -1599,10 +1566,7 @@ contains end subroutine psi_sovrl_saver1 subroutine psi_sovrl_restrr1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none real(psb_spk_), intent(inout) :: x(:) @@ -1648,11 +1612,8 @@ contains subroutine psi_sovrl_saver2(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod use psb_realloc_mod - use psb_penv_mod + implicit none real(psb_spk_), intent(inout) :: x(:,:) @@ -1704,10 +1665,7 @@ contains end subroutine psi_sovrl_saver2 subroutine psi_sovrl_restrr2(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none real(psb_spk_), intent(inout) :: x(:,:) @@ -1760,11 +1718,8 @@ contains subroutine psi_dovrl_saver1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod use psb_realloc_mod - use psb_penv_mod + implicit none real(psb_dpk_), intent(inout) :: x(:) @@ -1815,10 +1770,7 @@ contains end subroutine psi_dovrl_saver1 subroutine psi_dovrl_restrr1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none real(psb_dpk_), intent(inout) :: x(:) @@ -1864,11 +1816,8 @@ contains subroutine psi_dovrl_saver2(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod use psb_realloc_mod - use psb_penv_mod + implicit none real(psb_dpk_), intent(inout) :: x(:,:) @@ -1920,10 +1869,7 @@ contains end subroutine psi_dovrl_saver2 subroutine psi_dovrl_restrr2(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none real(psb_dpk_), intent(inout) :: x(:,:) @@ -1975,11 +1921,8 @@ contains end subroutine psi_dovrl_restrr2 subroutine psi_covrl_saver1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod use psb_realloc_mod - use psb_penv_mod + implicit none complex(psb_spk_), intent(inout) :: x(:) @@ -2030,10 +1973,7 @@ contains end subroutine psi_covrl_saver1 subroutine psi_covrl_restrr1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none complex(psb_spk_), intent(inout) :: x(:) @@ -2079,11 +2019,8 @@ contains subroutine psi_covrl_saver2(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod use psb_realloc_mod - use psb_penv_mod + implicit none complex(psb_spk_), intent(inout) :: x(:,:) @@ -2135,10 +2072,7 @@ contains end subroutine psi_covrl_saver2 subroutine psi_covrl_restrr2(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none complex(psb_spk_), intent(inout) :: x(:,:) @@ -2191,11 +2125,9 @@ contains subroutine psi_zovrl_saver1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod + use psb_realloc_mod - use psb_penv_mod + implicit none complex(psb_dpk_), intent(inout) :: x(:) @@ -2246,10 +2178,7 @@ contains end subroutine psi_zovrl_saver1 subroutine psi_zovrl_restrr1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none complex(psb_dpk_), intent(inout) :: x(:) @@ -2295,11 +2224,9 @@ contains subroutine psi_zovrl_saver2(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod + use psb_realloc_mod - use psb_penv_mod + implicit none complex(psb_dpk_), intent(inout) :: x(:,:) @@ -2351,10 +2278,7 @@ contains end subroutine psi_zovrl_saver2 subroutine psi_zovrl_restrr2(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none complex(psb_dpk_), intent(inout) :: x(:,:) @@ -2407,11 +2331,9 @@ contains subroutine psi_iovrl_saver1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod + use psb_realloc_mod - use psb_penv_mod + implicit none integer, intent(inout) :: x(:) @@ -2462,10 +2384,7 @@ contains end subroutine psi_iovrl_saver1 subroutine psi_iovrl_restrr1(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none integer, intent(inout) :: x(:) @@ -2567,10 +2486,7 @@ contains end subroutine psi_iovrl_saver2 subroutine psi_iovrl_restrr2(x,xs,desc_a,info) - use psb_descriptor_type - use psb_const_mod - use psb_error_mod - use psb_penv_mod + implicit none integer, intent(inout) :: x(:,:) @@ -2622,10 +2538,7 @@ contains end subroutine psi_iovrl_restrr2 subroutine psi_bld_ovr_mst(me,ovrlap_elem,mst_idx,info) - use psb_const_mod - use psb_error_mod - use psb_penv_mod - use psb_descriptor_type + use psb_realloc_mod implicit none diff --git a/krylov/psb_krylov_mod.f90 b/krylov/psb_krylov_mod.f90 index 95c048d8..afc3ff91 100644 --- a/krylov/psb_krylov_mod.f90 +++ b/krylov/psb_krylov_mod.f90 @@ -45,8 +45,8 @@ Module psb_krylov_mod interface psb_cg subroutine psb_scg(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop,cond) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_spk_), intent(in) :: b(:) @@ -60,8 +60,8 @@ Module psb_krylov_mod end subroutine psb_scg subroutine psb_dcg(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop,cond) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_dpk_), intent(in) :: b(:) @@ -75,8 +75,8 @@ Module psb_krylov_mod end subroutine psb_dcg subroutine psb_ccg(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a complex(psb_spk_), intent(in) :: b(:) @@ -90,8 +90,8 @@ Module psb_krylov_mod end subroutine psb_ccg subroutine psb_zcg(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a complex(psb_dpk_), intent(in) :: b(:) @@ -108,8 +108,8 @@ Module psb_krylov_mod interface psb_bicg subroutine psb_sbicg(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_spk_), intent(in) :: b(:) @@ -123,8 +123,8 @@ Module psb_krylov_mod end subroutine psb_sbicg subroutine psb_dbicg(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_dpk_), intent(in) :: b(:) @@ -138,8 +138,8 @@ Module psb_krylov_mod end subroutine psb_dbicg subroutine psb_cbicg(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a complex(psb_spk_), intent(in) :: b(:) @@ -153,8 +153,8 @@ Module psb_krylov_mod end subroutine psb_cbicg subroutine psb_zbicg(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a complex(psb_dpk_), intent(in) :: b(:) @@ -171,8 +171,8 @@ Module psb_krylov_mod interface psb_bicgstab subroutine psb_scgstab(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_spk_), intent(in) :: b(:) @@ -186,8 +186,8 @@ Module psb_krylov_mod end subroutine psb_scgstab subroutine psb_dcgstab(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a real(psb_dpk_), intent(in) :: b(:) @@ -201,8 +201,8 @@ Module psb_krylov_mod end subroutine psb_dcgstab subroutine psb_ccgstab(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a complex(psb_spk_), intent(in) :: b(:) @@ -216,8 +216,8 @@ Module psb_krylov_mod end subroutine psb_ccgstab subroutine psb_zcgstab(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a complex(psb_dpk_), intent(in) :: b(:) @@ -234,8 +234,8 @@ Module psb_krylov_mod interface psb_bicgstabl Subroutine psb_scgstabl(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err, itrace,irst,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type Type(psb_sspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a type(psb_sprec_type), intent(in) :: prec @@ -249,8 +249,8 @@ Module psb_krylov_mod end subroutine psb_scgstabl Subroutine psb_dcgstabl(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err, itrace,irst,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type Type(psb_dspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a type(psb_dprec_type), intent(in) :: prec @@ -264,8 +264,8 @@ Module psb_krylov_mod end subroutine psb_dcgstabl Subroutine psb_ccgstabl(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,irst,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type Type(psb_cspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a type(psb_cprec_type), intent(in) :: prec @@ -279,8 +279,8 @@ Module psb_krylov_mod end subroutine psb_ccgstabl Subroutine psb_zcgstabl(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,irst,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type Type(psb_zspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a type(psb_zprec_type), intent(in) :: prec @@ -297,8 +297,8 @@ Module psb_krylov_mod interface psb_rgmres Subroutine psb_srgmres(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,irst,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type Type(psb_sspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a type(psb_sprec_type), intent(in) :: prec @@ -312,8 +312,8 @@ Module psb_krylov_mod end subroutine psb_srgmres Subroutine psb_drgmres(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,irst,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type Type(psb_dspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a type(psb_dprec_type), intent(in) :: prec @@ -327,8 +327,8 @@ Module psb_krylov_mod end subroutine psb_drgmres Subroutine psb_crgmres(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,irst,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type Type(psb_cspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a type(psb_cprec_type), intent(in) :: prec @@ -342,8 +342,8 @@ Module psb_krylov_mod end subroutine psb_crgmres Subroutine psb_zrgmres(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,irst,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type Type(psb_zspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a type(psb_zprec_type), intent(in) :: prec @@ -360,8 +360,8 @@ Module psb_krylov_mod interface psb_cgs subroutine psb_scgs(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type type(psb_sspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a type(psb_sprec_type), intent(in) :: prec @@ -375,8 +375,8 @@ Module psb_krylov_mod end subroutine psb_scgs subroutine psb_dcgs(a,prec,b,x,eps,desc_a,info,& &itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type type(psb_dspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a type(psb_dprec_type), intent(in) :: prec @@ -390,8 +390,8 @@ Module psb_krylov_mod end subroutine psb_dcgs subroutine psb_ccgs(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type type(psb_cspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a complex(psb_spk_), intent(in) :: b(:) @@ -405,8 +405,8 @@ Module psb_krylov_mod end subroutine psb_ccgs subroutine psb_zcgs(a,prec,b,x,eps,& & desc_a,info,itmax,iter,err,itrace,istop) - use psb_base_mod - use psb_prec_mod + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type type(psb_zspmat_type), intent(in) :: a type(psb_desc_type), intent(in) :: desc_a complex(psb_dpk_), intent(in) :: b(:) @@ -495,7 +495,7 @@ contains Subroutine psb_skrylov(method,a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,irst,istop,cond) use psb_base_mod - use psb_prec_mod + use psb_prec_mod,only : psb_sprec_type, psb_dprec_type, psb_cprec_type, psb_zprec_type character(len=*) :: method Type(psb_sspmat_type), Intent(in) :: a @@ -612,7 +612,7 @@ contains Subroutine psb_dkrylov(method,a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,irst,istop,cond) use psb_base_mod - use psb_prec_mod + use psb_prec_mod,only : psb_sprec_type, psb_dprec_type, psb_cprec_type, psb_zprec_type character(len=*) :: method Type(psb_dspmat_type), Intent(in) :: a @@ -729,7 +729,7 @@ contains ! Subroutine psb_ckrylov(method,a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,irst,istop) use psb_base_mod - use psb_prec_mod + use psb_prec_mod,only : psb_sprec_type, psb_dprec_type, psb_cprec_type, psb_zprec_type character(len=*) :: method Type(psb_cspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a @@ -845,7 +845,7 @@ contains ! Subroutine psb_zkrylov(method,a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,irst,istop) use psb_base_mod - use psb_prec_mod + use psb_prec_mod,only : psb_sprec_type, psb_dprec_type, psb_cprec_type, psb_zprec_type character(len=*) :: method Type(psb_zspmat_type), Intent(in) :: a Type(psb_desc_type), Intent(in) :: desc_a diff --git a/prec/psb_prec_mod.f90 b/prec/psb_prec_mod.f90 index b2ba4447..98db45af 100644 --- a/prec/psb_prec_mod.f90 +++ b/prec/psb_prec_mod.f90 @@ -35,8 +35,8 @@ module psb_prec_mod interface psb_precbld subroutine psb_sprecbld(a,desc_a,prec,info,upd) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type implicit none type(psb_sspmat_type), intent(in), target :: a type(psb_desc_type), intent(in), target :: desc_a @@ -45,8 +45,8 @@ module psb_prec_mod character, intent(in),optional :: upd end subroutine psb_sprecbld subroutine psb_dprecbld(a,desc_a,prec,info,upd) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type implicit none type(psb_dspmat_type), intent(in), target :: a type(psb_desc_type), intent(in), target :: desc_a @@ -55,8 +55,8 @@ module psb_prec_mod character, intent(in),optional :: upd end subroutine psb_dprecbld subroutine psb_cprecbld(a,desc_a,prec,info,upd) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type implicit none type(psb_cspmat_type), intent(in), target :: a type(psb_desc_type), intent(in), target :: desc_a @@ -65,8 +65,8 @@ module psb_prec_mod character, intent(in),optional :: upd end subroutine psb_cprecbld subroutine psb_zprecbld(a,desc_a,prec,info,upd) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type implicit none type(psb_zspmat_type), intent(in), target :: a type(psb_desc_type), intent(in), target :: desc_a @@ -78,16 +78,16 @@ module psb_prec_mod interface psb_precinit subroutine psb_sprecinit(prec,ptype,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type implicit none type(psb_sprec_type), intent(inout) :: prec character(len=*), intent(in) :: ptype integer, intent(out) :: info end subroutine psb_sprecinit subroutine psb_dprecinit(prec,ptype,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type implicit none type(psb_dprec_type), intent(inout) :: prec character(len=*), intent(in) :: ptype @@ -113,16 +113,16 @@ module psb_prec_mod interface psb_precset subroutine psb_sprecseti(prec,what,val,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type implicit none type(psb_sprec_type), intent(inout) :: prec integer :: what, val integer, intent(out) :: info end subroutine psb_sprecseti subroutine psb_sprecsets(prec,what,val,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type implicit none type(psb_sprec_type), intent(inout) :: prec integer :: what @@ -130,16 +130,16 @@ module psb_prec_mod integer, intent(out) :: info end subroutine psb_sprecsets subroutine psb_dprecseti(prec,what,val,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type implicit none type(psb_dprec_type), intent(inout) :: prec integer :: what, val integer, intent(out) :: info end subroutine psb_dprecseti subroutine psb_dprecsetd(prec,what,val,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type implicit none type(psb_dprec_type), intent(inout) :: prec integer :: what @@ -147,16 +147,16 @@ module psb_prec_mod integer, intent(out) :: info end subroutine psb_dprecsetd subroutine psb_cprecseti(prec,what,val,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type implicit none type(psb_cprec_type), intent(inout) :: prec integer :: what, val integer, intent(out) :: info end subroutine psb_cprecseti subroutine psb_cprecsets(prec,what,val,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type implicit none type(psb_cprec_type), intent(inout) :: prec integer :: what @@ -164,16 +164,16 @@ module psb_prec_mod integer, intent(out) :: info end subroutine psb_cprecsets subroutine psb_zprecseti(prec,what,val,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type implicit none type(psb_zprec_type), intent(inout) :: prec integer :: what, val integer, intent(out) :: info end subroutine psb_zprecseti subroutine psb_zprecsetd(prec,what,val,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type implicit none type(psb_zprec_type), intent(inout) :: prec integer :: what @@ -185,8 +185,8 @@ module psb_prec_mod interface psb_precaply subroutine psb_sprc_aply(prec,x,y,desc_data,info,trans,work) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_sprec_type), intent(in) :: prec real(psb_spk_),intent(in) :: x(:) @@ -196,8 +196,8 @@ module psb_prec_mod real(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_sprc_aply subroutine psb_sprc_aply1(prec,x,desc_data,info,trans) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_sprec_type), intent(in) :: prec real(psb_spk_),intent(inout) :: x(:) @@ -205,8 +205,8 @@ module psb_prec_mod character(len=1), optional :: trans end subroutine psb_sprc_aply1 subroutine psb_dprc_aply(prec,x,y,desc_data,info,trans,work) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_dprec_type), intent(in) :: prec real(psb_dpk_),intent(in) :: x(:) @@ -216,8 +216,8 @@ module psb_prec_mod real(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_dprc_aply subroutine psb_dprc_aply1(prec,x,desc_data,info,trans) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_dprec_type), intent(in) :: prec real(psb_dpk_),intent(inout) :: x(:) @@ -225,8 +225,8 @@ module psb_prec_mod character(len=1), optional :: trans end subroutine psb_dprc_aply1 subroutine psb_cprc_aply(prec,x,y,desc_data,info,trans,work) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_cprec_type), intent(in) :: prec complex(psb_spk_),intent(in) :: x(:) @@ -236,8 +236,8 @@ module psb_prec_mod complex(psb_spk_),intent(inout), optional, target :: work(:) end subroutine psb_cprc_aply subroutine psb_cprc_aply1(prec,x,desc_data,info,trans) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_cprec_type), intent(in) :: prec complex(psb_spk_),intent(inout) :: x(:) @@ -245,8 +245,8 @@ module psb_prec_mod character(len=1), optional :: trans end subroutine psb_cprc_aply1 subroutine psb_zprc_aply(prec,x,y,desc_data,info,trans,work) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_zprec_type), intent(in) :: prec complex(psb_dpk_),intent(in) :: x(:) @@ -256,8 +256,8 @@ module psb_prec_mod complex(psb_dpk_),intent(inout), optional, target :: work(:) end subroutine psb_zprc_aply subroutine psb_zprc_aply1(prec,x,desc_data,info,trans) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_zprec_type), intent(in) :: prec complex(psb_dpk_),intent(inout) :: x(:) @@ -269,8 +269,8 @@ module psb_prec_mod interface psb_bjac_aply subroutine psb_sbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type type(psb_desc_type), intent(in) :: desc_data type(psb_sprec_type), intent(in) :: prec real(psb_spk_),intent(in) :: x(:) @@ -281,8 +281,8 @@ module psb_prec_mod integer, intent(out) :: info end subroutine psb_sbjac_aply subroutine psb_dbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type type(psb_desc_type), intent(in) :: desc_data type(psb_dprec_type), intent(in) :: prec real(psb_dpk_),intent(in) :: x(:) @@ -293,8 +293,8 @@ module psb_prec_mod integer, intent(out) :: info end subroutine psb_dbjac_aply subroutine psb_cbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type type(psb_desc_type), intent(in) :: desc_data type(psb_cprec_type), intent(in) :: prec complex(psb_spk_),intent(in) :: x(:) @@ -305,8 +305,8 @@ module psb_prec_mod integer, intent(out) :: info end subroutine psb_cbjac_aply subroutine psb_zbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type type(psb_desc_type), intent(in) :: desc_data type(psb_zprec_type), intent(in) :: prec complex(psb_dpk_),intent(in) :: x(:) @@ -320,7 +320,7 @@ module psb_prec_mod interface psb_ilu_fct subroutine psb_silu_fct(a,l,u,d,info,blck) - use psb_base_mod + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ integer, intent(out) :: info type(psb_sspmat_type),intent(in) :: a type(psb_sspmat_type),intent(inout) :: l,u @@ -328,7 +328,7 @@ module psb_prec_mod real(psb_spk_), intent(inout) :: d(:) end subroutine psb_silu_fct subroutine psb_dilu_fct(a,l,u,d,info,blck) - use psb_base_mod + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ integer, intent(out) :: info type(psb_dspmat_type),intent(in) :: a type(psb_dspmat_type),intent(inout) :: l,u @@ -336,7 +336,7 @@ module psb_prec_mod real(psb_dpk_), intent(inout) :: d(:) end subroutine psb_dilu_fct subroutine psb_cilu_fct(a,l,u,d,info,blck) - use psb_base_mod + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ integer, intent(out) :: info type(psb_cspmat_type),intent(in) :: a type(psb_cspmat_type),intent(inout) :: l,u @@ -344,7 +344,7 @@ module psb_prec_mod complex(psb_spk_), intent(inout) :: d(:) end subroutine psb_cilu_fct subroutine psb_zilu_fct(a,l,u,d,info,blck) - use psb_base_mod + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ integer, intent(out) :: info type(psb_zspmat_type),intent(in) :: a type(psb_zspmat_type),intent(inout) :: l,u @@ -355,8 +355,8 @@ module psb_prec_mod interface psb_bjac_bld subroutine psb_sbjac_bld(a,desc_a,p,upd,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type integer, intent(out) :: info type(psb_sspmat_type), intent(in), target :: a type(psb_sprec_type), intent(inout) :: p @@ -364,8 +364,8 @@ module psb_prec_mod character, intent(in) :: upd end subroutine psb_sbjac_bld subroutine psb_dbjac_bld(a,desc_a,p,upd,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type integer, intent(out) :: info type(psb_dspmat_type), intent(in), target :: a type(psb_dprec_type), intent(inout) :: p @@ -373,8 +373,8 @@ module psb_prec_mod character, intent(in) :: upd end subroutine psb_dbjac_bld subroutine psb_cbjac_bld(a,desc_a,p,upd,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type integer, intent(out) :: info type(psb_cspmat_type), intent(in), target :: a type(psb_cprec_type), intent(inout) :: p @@ -382,11 +382,11 @@ module psb_prec_mod character, intent(in) :: upd end subroutine psb_cbjac_bld subroutine psb_zbjac_bld(a,desc_a,p,upd,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type integer, intent(out) :: info type(psb_zspmat_type), intent(in), target :: a - type(psb_zprec_type), intent(inout) :: p + type(psb_zprec_type), intent(inout) :: p type(psb_desc_type), intent(in) :: desc_a character, intent(in) :: upd end subroutine psb_zbjac_bld @@ -394,8 +394,8 @@ module psb_prec_mod interface psb_diagsc_bld subroutine psb_sdiagsc_bld(a,desc_a,p,upd,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type integer, intent(out) :: info type(psb_sspmat_type), intent(in), target :: a type(psb_sprec_type), intent(inout) :: p @@ -403,8 +403,8 @@ module psb_prec_mod character, intent(in) :: upd end subroutine psb_sdiagsc_bld subroutine psb_ddiagsc_bld(a,desc_a,p,upd,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type integer, intent(out) :: info type(psb_dspmat_type), intent(in), target :: a type(psb_dprec_type), intent(inout) :: p @@ -412,8 +412,8 @@ module psb_prec_mod character, intent(in) :: upd end subroutine psb_ddiagsc_bld subroutine psb_cdiagsc_bld(a,desc_a,p,upd,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type integer, intent(out) :: info type(psb_cspmat_type), intent(in), target :: a type(psb_cprec_type), intent(inout) :: p @@ -421,8 +421,8 @@ module psb_prec_mod character, intent(in) :: upd end subroutine psb_cdiagsc_bld subroutine psb_zdiagsc_bld(a,desc_a,p,upd,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type integer, intent(out) :: info type(psb_zspmat_type), intent(in), target :: a type(psb_zprec_type), intent(inout) :: p @@ -433,8 +433,8 @@ module psb_prec_mod interface psb_gprec_aply subroutine psb_sgprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_sspmat_type, psb_spk_ + use psb_prec_type, only : psb_sprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_sprec_type), intent(in) :: prec real(psb_spk_),intent(in) :: x(:) @@ -445,8 +445,8 @@ module psb_prec_mod integer, intent(out) :: info end subroutine psb_sgprec_aply subroutine psb_dgprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_dspmat_type, psb_dpk_ + use psb_prec_type, only : psb_dprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_dprec_type), intent(in) :: prec real(psb_dpk_),intent(in) :: x(:) @@ -457,8 +457,8 @@ module psb_prec_mod integer, intent(out) :: info end subroutine psb_dgprec_aply subroutine psb_cgprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_cspmat_type, psb_spk_ + use psb_prec_type, only : psb_cprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_cprec_type), intent(in) :: prec complex(psb_spk_),intent(in) :: x(:) @@ -469,8 +469,8 @@ module psb_prec_mod integer, intent(out) :: info end subroutine psb_cgprec_aply subroutine psb_zgprec_aply(alpha,prec,x,beta,y,desc_data,trans,work,info) - use psb_base_mod - use psb_prec_type + use psb_base_mod, only : psb_desc_type, psb_zspmat_type, psb_dpk_ + use psb_prec_type, only : psb_zprec_type type(psb_desc_type),intent(in) :: desc_data type(psb_zprec_type), intent(in) :: prec complex(psb_dpk_),intent(in) :: x(:) diff --git a/prec/psb_prec_type.f90 b/prec/psb_prec_type.f90 index 3e05e8fa..2c5fa5bd 100644 --- a/prec/psb_prec_type.f90 +++ b/prec/psb_prec_type.f90 @@ -37,10 +37,10 @@ module psb_prec_type ! Reduces size of .mod file. - use psb_const_mod use psb_base_mod, only : psb_sspmat_type, psb_cspmat_type,& - & psb_dspmat_type, psb_zspmat_type,& - & psb_desc_type, psb_sizeof + & psb_dspmat_type, psb_zspmat_type, psb_dpk_, psb_spk_,& + & psb_desc_type, psb_sizeof, psb_sp_free, psb_cdfree,& + & psb_erractionsave, psb_erractionrestore, psb_error, psb_get_errstatus integer, parameter :: psb_min_prec_=0, psb_noprec_=0, psb_diag_=1, & & psb_bjac_=2, psb_max_prec_=2 @@ -139,31 +139,26 @@ module psb_prec_type contains subroutine psb_sout_prec_descr(p) - use psb_base_mod type(psb_sprec_type), intent(in) :: p call psb_sfile_prec_descr(6,p) end subroutine psb_sout_prec_descr subroutine psb_out_prec_descr(p) - use psb_base_mod type(psb_dprec_type), intent(in) :: p call psb_file_prec_descr(6,p) end subroutine psb_out_prec_descr subroutine psb_cout_prec_descr(p) - use psb_base_mod type(psb_cprec_type), intent(in) :: p call psb_cfile_prec_descr(6,p) end subroutine psb_cout_prec_descr subroutine psb_zout_prec_descr(p) - use psb_base_mod type(psb_zprec_type), intent(in) :: p call psb_zfile_prec_descr(6,p) end subroutine psb_zout_prec_descr subroutine psb_file_prec_descr(iout,p) - use psb_base_mod integer, intent(in) :: iout type(psb_dprec_type), intent(in) :: p @@ -181,7 +176,6 @@ contains end subroutine psb_file_prec_descr subroutine psb_sfile_prec_descr(iout,p) - use psb_base_mod integer, intent(in) :: iout type(psb_sprec_type), intent(in) :: p @@ -199,7 +193,6 @@ contains end subroutine psb_sfile_prec_descr subroutine psb_cfile_prec_descr(iout,p) - use psb_base_mod integer, intent(in) :: iout type(psb_cprec_type), intent(in) :: p @@ -216,7 +209,6 @@ contains end subroutine psb_cfile_prec_descr subroutine psb_zfile_prec_descr(iout,p) - use psb_base_mod integer, intent(in) :: iout type(psb_zprec_type), intent(in) :: p @@ -234,7 +226,6 @@ contains function is_legal_prec(ip) - use psb_base_mod integer, intent(in) :: ip logical :: is_legal_prec @@ -242,7 +233,6 @@ contains return end function is_legal_prec function is_legal_ml_fact(ip) - use psb_base_mod integer, intent(in) :: ip logical :: is_legal_ml_fact @@ -250,7 +240,6 @@ contains return end function is_legal_ml_fact function is_legal_ml_eps(ip) - use psb_base_mod real(psb_dpk_), intent(in) :: ip logical :: is_legal_ml_eps @@ -260,7 +249,6 @@ contains subroutine psb_icheck_def(ip,name,id,is_legal) - use psb_base_mod integer, intent(inout) :: ip integer, intent(in) :: id character(len=*), intent(in) :: name @@ -278,7 +266,6 @@ contains end subroutine psb_icheck_def subroutine psb_scheck_def(ip,name,id,is_legal) - use psb_base_mod real(psb_spk_), intent(inout) :: ip real(psb_spk_), intent(in) :: id character(len=*), intent(in) :: name @@ -297,7 +284,6 @@ contains end subroutine psb_scheck_def subroutine psb_dcheck_def(ip,name,id,is_legal) - use psb_base_mod real(psb_dpk_), intent(inout) :: ip real(psb_dpk_), intent(in) :: id character(len=*), intent(in) :: name @@ -316,7 +302,6 @@ contains end subroutine psb_dcheck_def subroutine psb_s_precfree(p,info) - use psb_base_mod type(psb_sprec_type), intent(inout) :: p integer, intent(out) :: info integer :: me, err_act,i @@ -381,7 +366,6 @@ contains end subroutine psb_s_precfree subroutine psb_nullify_sprec(p) - use psb_base_mod type(psb_sprec_type), intent(inout) :: p !!$ nullify(p%av,p%d,p%iprcparm,p%rprcparm,p%perm,p%invperm,p%mlia,& @@ -390,7 +374,6 @@ contains end subroutine psb_nullify_sprec subroutine psb_d_precfree(p,info) - use psb_base_mod type(psb_dprec_type), intent(inout) :: p integer, intent(out) :: info integer :: me, err_act,i @@ -455,7 +438,6 @@ contains end subroutine psb_d_precfree subroutine psb_nullify_dprec(p) - use psb_base_mod type(psb_dprec_type), intent(inout) :: p !!$ nullify(p%av,p%d,p%iprcparm,p%rprcparm,p%perm,p%invperm,p%mlia,& @@ -464,7 +446,6 @@ contains end subroutine psb_nullify_dprec subroutine psb_c_precfree(p,info) - use psb_base_mod type(psb_cprec_type), intent(inout) :: p integer, intent(out) :: info integer :: err_act,i @@ -522,14 +503,12 @@ contains end subroutine psb_c_precfree subroutine psb_nullify_cprec(p) - use psb_base_mod type(psb_cprec_type), intent(inout) :: p end subroutine psb_nullify_cprec subroutine psb_z_precfree(p,info) - use psb_base_mod type(psb_zprec_type), intent(inout) :: p integer, intent(out) :: info integer :: err_act,i @@ -587,7 +566,6 @@ contains end subroutine psb_z_precfree subroutine psb_nullify_zprec(p) - use psb_base_mod type(psb_zprec_type), intent(inout) :: p @@ -595,7 +573,6 @@ contains function pr_to_str(iprec) - use psb_base_mod integer, intent(in) :: iprec character(len=10) :: pr_to_str @@ -615,7 +592,6 @@ contains function psb_dprec_sizeof(prec) - use psb_base_mod type(psb_dprec_type), intent(in) :: prec integer :: psb_dprec_sizeof integer :: val,i @@ -638,7 +614,6 @@ contains end function psb_dprec_sizeof function psb_sprec_sizeof(prec) - use psb_base_mod type(psb_sprec_type), intent(in) :: prec integer :: psb_sprec_sizeof integer :: val,i @@ -661,7 +636,6 @@ contains end function psb_sprec_sizeof function psb_zprec_sizeof(prec) - use psb_base_mod type(psb_zprec_type), intent(in) :: prec integer :: psb_zprec_sizeof integer :: val,i @@ -684,7 +658,6 @@ contains end function psb_zprec_sizeof function psb_cprec_sizeof(prec) - use psb_base_mod type(psb_cprec_type), intent(in) :: prec integer :: psb_cprec_sizeof integer :: val,i