mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-07 07:04:57 +00:00
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.
This commit is contained in:
@@ -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(:)
|
||||
|
||||
+242
-136
@@ -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
|
||||
|
||||
+70
-157
@@ -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
|
||||
|
||||
|
||||
+52
-52
@@ -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
|
||||
|
||||
+81
-81
@@ -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(:)
|
||||
|
||||
+3
-30
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user