Fix implicit none.

sphalo-a2av V3.6.0-RC2
Salvatore Filippone 6 years ago
parent bf14437256
commit 9488a91d48

@ -278,11 +278,6 @@ module psb_desc_mod
module procedure psb_cdtransfer
end interface psb_move_alloc
interface psb_free
module procedure psb_cdfree
end interface psb_free
private :: nullify_desc, cd_get_fmt,&
& cd_l2gs1, cd_l2gs2, cd_l2gv1, cd_l2gv2, cd_g2ls1,&
& cd_g2ls2, cd_g2lv1, cd_g2lv2, cd_g2ls1_ins,&

@ -115,10 +115,7 @@ module psb_c_base_mat_mod
procedure, pass(a) :: aclsum => psb_c_base_aclsum
end type psb_c_base_sparse_mat
private :: c_base_mat_sync, c_base_mat_is_host, c_base_mat_is_dev, &
& c_base_mat_is_sync, c_base_mat_set_host, c_base_mat_set_dev,&
& c_base_mat_set_sync
!> \namespace psb_base_mod \class psb_c_coo_sparse_mat
!! \extends psb_c_base_mat_mod::psb_c_base_sparse_mat
!!

@ -222,6 +222,7 @@ contains
!!
subroutine c_base_bld_x(x,this)
use psb_realloc_mod
implicit none
complex(psb_spk_), intent(in) :: this(:)
class(psb_c_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -246,6 +247,7 @@ contains
!!
subroutine c_base_bld_n(x,n)
use psb_realloc_mod
implicit none
integer(psb_ipk_), intent(in) :: n
class(psb_c_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -718,6 +720,7 @@ contains
!! \param val The value to set
!!
subroutine c_base_set_scal(x,val,first,last)
implicit none
class(psb_c_base_vect_type), intent(inout) :: x
complex(psb_spk_), intent(in) :: val
integer(psb_ipk_), optional :: first, last
@ -743,6 +746,7 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine c_base_set_vect(x,val,first,last)
implicit none
class(psb_c_base_vect_type), intent(inout) :: x
complex(psb_spk_), intent(in) :: val(:)
integer(psb_ipk_), optional :: first, last
@ -775,6 +779,7 @@ contains
!! \brief Set all entries to their respective absolute values.
!!
subroutine c_base_absval1(x)
implicit none
class(psb_c_base_vect_type), intent(inout) :: x
if (allocated(x%v)) then
@ -786,7 +791,8 @@ contains
end subroutine c_base_absval1
subroutine c_base_absval2(x,y)
class(psb_c_base_vect_type), intent(inout) :: x
implicit none
class(psb_c_base_vect_type), intent(inout) :: x
class(psb_c_base_vect_type), intent(inout) :: y
integer(psb_ipk_) :: info
if (.not.x%is_host()) call x%sync()
@ -1210,6 +1216,7 @@ contains
!! \param beta
subroutine c_base_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_spk_) :: alpha, beta, y(:)
class(psb_c_base_vect_type) :: x
@ -1229,6 +1236,7 @@ contains
!! \param idx(:) indices
subroutine c_base_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: y(:)
@ -1244,6 +1252,7 @@ contains
!
subroutine c_base_gthzbuf(i,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
class(psb_c_base_vect_type) :: x
@ -1306,6 +1315,7 @@ contains
!! \param idx(:) indices
subroutine c_base_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_spk_) :: y(:)
class(psb_c_base_vect_type) :: x
@ -1330,6 +1340,7 @@ contains
!! \param x(:)
subroutine c_base_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_spk_) :: beta, x(:)
class(psb_c_base_vect_type) :: y
@ -1342,6 +1353,7 @@ contains
subroutine c_base_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: beta, x(:)
@ -1355,6 +1367,7 @@ contains
subroutine c_base_sctb_buf(i,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: beta
@ -1949,6 +1962,7 @@ contains
!!
!
function c_base_mlv_get_vect(x) result(res)
implicit none
class(psb_c_base_multivect_type), intent(inout) :: x
complex(psb_spk_), allocatable :: res(:,:)
integer(psb_ipk_) :: info,m,n
@ -1974,6 +1988,7 @@ contains
!! \param val The value to set
!!
subroutine c_base_mlv_set_scal(x,val)
implicit none
class(psb_c_base_multivect_type), intent(inout) :: x
complex(psb_spk_), intent(in) :: val
@ -1989,9 +2004,10 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine c_base_mlv_set_vect(x,val)
implicit none
class(psb_c_base_multivect_type), intent(inout) :: x
complex(psb_spk_), intent(in) :: val(:,:)
integer(psb_ipk_) :: nr
integer(psb_ipk_) :: nr, nc
integer(psb_ipk_) :: info
if (allocated(x%v)) then
@ -2462,6 +2478,7 @@ contains
!! \brief Set all entries to their respective absolute values.
!!
subroutine c_base_mlv_absval1(x)
implicit none
class(psb_c_base_multivect_type), intent(inout) :: x
if (allocated(x%v)) then
@ -2473,6 +2490,7 @@ contains
end subroutine c_base_mlv_absval1
subroutine c_base_mlv_absval2(x,y)
implicit none
class(psb_c_base_multivect_type), intent(inout) :: x
class(psb_c_base_multivect_type), intent(inout) :: y
integer(psb_ipk_) :: info
@ -2487,6 +2505,7 @@ contains
function c_base_mlv_use_buffer() result(res)
implicit none
logical :: res
res = .true.
@ -2563,6 +2582,7 @@ contains
!! \param beta
subroutine c_base_mlv_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_spk_) :: alpha, beta, y(:)
class(psb_c_base_multivect_type) :: x
@ -2587,6 +2607,7 @@ contains
!! \param idx(:) indices
subroutine c_base_mlv_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: y(:)
@ -2608,6 +2629,7 @@ contains
!! \param idx(:) indices
subroutine c_base_mlv_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_spk_) :: y(:)
class(psb_c_base_multivect_type) :: x
@ -2633,6 +2655,7 @@ contains
!! \param idx(:) indices
subroutine c_base_mlv_gthzm(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_spk_) :: y(:,:)
class(psb_c_base_multivect_type) :: x
@ -2653,6 +2676,7 @@ contains
!
subroutine c_base_mlv_gthzbuf(i,ixb,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, ixb, n
class(psb_i_base_vect_type) :: idx
class(psb_c_base_multivect_type) :: x
@ -2684,6 +2708,7 @@ contains
!! \param x(:)
subroutine c_base_mlv_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_spk_) :: beta, x(:)
class(psb_c_base_multivect_type) :: y
@ -2698,6 +2723,7 @@ contains
subroutine c_base_mlv_sctbr2(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_spk_) :: beta, x(:,:)
class(psb_c_base_multivect_type) :: y
@ -2712,6 +2738,7 @@ contains
subroutine c_base_mlv_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
complex( psb_spk_) :: beta, x(:)
@ -2723,6 +2750,7 @@ contains
subroutine c_base_mlv_sctb_buf(i,iyb,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, iyb, n
class(psb_i_base_vect_type) :: idx
complex(psb_spk_) :: beta

@ -855,9 +855,9 @@ module psb_c_multivect_mod
module procedure psb_c_set_multivect_default
end interface psb_set_multivect_default
interface psb_get_vect_default
interface psb_get_multivect_default
module procedure psb_c_get_multivect_default
end interface psb_get_vect_default
end interface psb_get_multivect_default
contains

@ -115,10 +115,7 @@ module psb_d_base_mat_mod
procedure, pass(a) :: aclsum => psb_d_base_aclsum
end type psb_d_base_sparse_mat
private :: d_base_mat_sync, d_base_mat_is_host, d_base_mat_is_dev, &
& d_base_mat_is_sync, d_base_mat_set_host, d_base_mat_set_dev,&
& d_base_mat_set_sync
!> \namespace psb_base_mod \class psb_d_coo_sparse_mat
!! \extends psb_d_base_mat_mod::psb_d_base_sparse_mat
!!

@ -222,6 +222,7 @@ contains
!!
subroutine d_base_bld_x(x,this)
use psb_realloc_mod
implicit none
real(psb_dpk_), intent(in) :: this(:)
class(psb_d_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -246,6 +247,7 @@ contains
!!
subroutine d_base_bld_n(x,n)
use psb_realloc_mod
implicit none
integer(psb_ipk_), intent(in) :: n
class(psb_d_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -718,6 +720,7 @@ contains
!! \param val The value to set
!!
subroutine d_base_set_scal(x,val,first,last)
implicit none
class(psb_d_base_vect_type), intent(inout) :: x
real(psb_dpk_), intent(in) :: val
integer(psb_ipk_), optional :: first, last
@ -743,6 +746,7 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine d_base_set_vect(x,val,first,last)
implicit none
class(psb_d_base_vect_type), intent(inout) :: x
real(psb_dpk_), intent(in) :: val(:)
integer(psb_ipk_), optional :: first, last
@ -775,6 +779,7 @@ contains
!! \brief Set all entries to their respective absolute values.
!!
subroutine d_base_absval1(x)
implicit none
class(psb_d_base_vect_type), intent(inout) :: x
if (allocated(x%v)) then
@ -786,7 +791,8 @@ contains
end subroutine d_base_absval1
subroutine d_base_absval2(x,y)
class(psb_d_base_vect_type), intent(inout) :: x
implicit none
class(psb_d_base_vect_type), intent(inout) :: x
class(psb_d_base_vect_type), intent(inout) :: y
integer(psb_ipk_) :: info
if (.not.x%is_host()) call x%sync()
@ -1210,6 +1216,7 @@ contains
!! \param beta
subroutine d_base_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_dpk_) :: alpha, beta, y(:)
class(psb_d_base_vect_type) :: x
@ -1229,6 +1236,7 @@ contains
!! \param idx(:) indices
subroutine d_base_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: y(:)
@ -1244,6 +1252,7 @@ contains
!
subroutine d_base_gthzbuf(i,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
class(psb_d_base_vect_type) :: x
@ -1306,6 +1315,7 @@ contains
!! \param idx(:) indices
subroutine d_base_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_dpk_) :: y(:)
class(psb_d_base_vect_type) :: x
@ -1330,6 +1340,7 @@ contains
!! \param x(:)
subroutine d_base_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_dpk_) :: beta, x(:)
class(psb_d_base_vect_type) :: y
@ -1342,6 +1353,7 @@ contains
subroutine d_base_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: beta, x(:)
@ -1355,6 +1367,7 @@ contains
subroutine d_base_sctb_buf(i,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: beta
@ -1949,6 +1962,7 @@ contains
!!
!
function d_base_mlv_get_vect(x) result(res)
implicit none
class(psb_d_base_multivect_type), intent(inout) :: x
real(psb_dpk_), allocatable :: res(:,:)
integer(psb_ipk_) :: info,m,n
@ -1974,6 +1988,7 @@ contains
!! \param val The value to set
!!
subroutine d_base_mlv_set_scal(x,val)
implicit none
class(psb_d_base_multivect_type), intent(inout) :: x
real(psb_dpk_), intent(in) :: val
@ -1989,9 +2004,10 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine d_base_mlv_set_vect(x,val)
implicit none
class(psb_d_base_multivect_type), intent(inout) :: x
real(psb_dpk_), intent(in) :: val(:,:)
integer(psb_ipk_) :: nr
integer(psb_ipk_) :: nr, nc
integer(psb_ipk_) :: info
if (allocated(x%v)) then
@ -2462,6 +2478,7 @@ contains
!! \brief Set all entries to their respective absolute values.
!!
subroutine d_base_mlv_absval1(x)
implicit none
class(psb_d_base_multivect_type), intent(inout) :: x
if (allocated(x%v)) then
@ -2473,6 +2490,7 @@ contains
end subroutine d_base_mlv_absval1
subroutine d_base_mlv_absval2(x,y)
implicit none
class(psb_d_base_multivect_type), intent(inout) :: x
class(psb_d_base_multivect_type), intent(inout) :: y
integer(psb_ipk_) :: info
@ -2487,6 +2505,7 @@ contains
function d_base_mlv_use_buffer() result(res)
implicit none
logical :: res
res = .true.
@ -2563,6 +2582,7 @@ contains
!! \param beta
subroutine d_base_mlv_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_dpk_) :: alpha, beta, y(:)
class(psb_d_base_multivect_type) :: x
@ -2587,6 +2607,7 @@ contains
!! \param idx(:) indices
subroutine d_base_mlv_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: y(:)
@ -2608,6 +2629,7 @@ contains
!! \param idx(:) indices
subroutine d_base_mlv_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_dpk_) :: y(:)
class(psb_d_base_multivect_type) :: x
@ -2633,6 +2655,7 @@ contains
!! \param idx(:) indices
subroutine d_base_mlv_gthzm(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_dpk_) :: y(:,:)
class(psb_d_base_multivect_type) :: x
@ -2653,6 +2676,7 @@ contains
!
subroutine d_base_mlv_gthzbuf(i,ixb,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, ixb, n
class(psb_i_base_vect_type) :: idx
class(psb_d_base_multivect_type) :: x
@ -2684,6 +2708,7 @@ contains
!! \param x(:)
subroutine d_base_mlv_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_dpk_) :: beta, x(:)
class(psb_d_base_multivect_type) :: y
@ -2698,6 +2723,7 @@ contains
subroutine d_base_mlv_sctbr2(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_dpk_) :: beta, x(:,:)
class(psb_d_base_multivect_type) :: y
@ -2712,6 +2738,7 @@ contains
subroutine d_base_mlv_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
real( psb_dpk_) :: beta, x(:)
@ -2723,6 +2750,7 @@ contains
subroutine d_base_mlv_sctb_buf(i,iyb,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, iyb, n
class(psb_i_base_vect_type) :: idx
real(psb_dpk_) :: beta

@ -855,9 +855,9 @@ module psb_d_multivect_mod
module procedure psb_d_set_multivect_default
end interface psb_set_multivect_default
interface psb_get_vect_default
interface psb_get_multivect_default
module procedure psb_d_get_multivect_default
end interface psb_get_vect_default
end interface psb_get_multivect_default
contains

@ -191,6 +191,7 @@ contains
!!
subroutine i_base_bld_x(x,this)
use psb_realloc_mod
implicit none
integer(psb_ipk_), intent(in) :: this(:)
class(psb_i_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -215,6 +216,7 @@ contains
!!
subroutine i_base_bld_n(x,n)
use psb_realloc_mod
implicit none
integer(psb_ipk_), intent(in) :: n
class(psb_i_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -687,6 +689,7 @@ contains
!! \param val The value to set
!!
subroutine i_base_set_scal(x,val,first,last)
implicit none
class(psb_i_base_vect_type), intent(inout) :: x
integer(psb_ipk_), intent(in) :: val
integer(psb_ipk_), optional :: first, last
@ -712,6 +715,7 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine i_base_set_vect(x,val,first,last)
implicit none
class(psb_i_base_vect_type), intent(inout) :: x
integer(psb_ipk_), intent(in) :: val(:)
integer(psb_ipk_), optional :: first, last
@ -751,6 +755,7 @@ contains
!! \param beta
subroutine i_base_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_ipk_) :: alpha, beta, y(:)
class(psb_i_base_vect_type) :: x
@ -770,6 +775,7 @@ contains
!! \param idx(:) indices
subroutine i_base_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
integer(psb_ipk_) :: y(:)
@ -785,6 +791,7 @@ contains
!
subroutine i_base_gthzbuf(i,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
class(psb_i_base_vect_type) :: x
@ -847,6 +854,7 @@ contains
!! \param idx(:) indices
subroutine i_base_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_ipk_) :: y(:)
class(psb_i_base_vect_type) :: x
@ -871,6 +879,7 @@ contains
!! \param x(:)
subroutine i_base_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_ipk_) :: beta, x(:)
class(psb_i_base_vect_type) :: y
@ -883,6 +892,7 @@ contains
subroutine i_base_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
integer(psb_ipk_) :: beta, x(:)
@ -896,6 +906,7 @@ contains
subroutine i_base_sctb_buf(i,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
integer(psb_ipk_) :: beta
@ -1457,6 +1468,7 @@ contains
!!
!
function i_base_mlv_get_vect(x) result(res)
implicit none
class(psb_i_base_multivect_type), intent(inout) :: x
integer(psb_ipk_), allocatable :: res(:,:)
integer(psb_ipk_) :: info,m,n
@ -1482,6 +1494,7 @@ contains
!! \param val The value to set
!!
subroutine i_base_mlv_set_scal(x,val)
implicit none
class(psb_i_base_multivect_type), intent(inout) :: x
integer(psb_ipk_), intent(in) :: val
@ -1497,9 +1510,10 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine i_base_mlv_set_vect(x,val)
implicit none
class(psb_i_base_multivect_type), intent(inout) :: x
integer(psb_ipk_), intent(in) :: val(:,:)
integer(psb_ipk_) :: nr
integer(psb_ipk_) :: nr, nc
integer(psb_ipk_) :: info
if (allocated(x%v)) then
@ -1515,6 +1529,7 @@ contains
function i_base_mlv_use_buffer() result(res)
implicit none
logical :: res
res = .true.
@ -1591,6 +1606,7 @@ contains
!! \param beta
subroutine i_base_mlv_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_ipk_) :: alpha, beta, y(:)
class(psb_i_base_multivect_type) :: x
@ -1615,6 +1631,7 @@ contains
!! \param idx(:) indices
subroutine i_base_mlv_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
integer(psb_ipk_) :: y(:)
@ -1636,6 +1653,7 @@ contains
!! \param idx(:) indices
subroutine i_base_mlv_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_ipk_) :: y(:)
class(psb_i_base_multivect_type) :: x
@ -1661,6 +1679,7 @@ contains
!! \param idx(:) indices
subroutine i_base_mlv_gthzm(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_ipk_) :: y(:,:)
class(psb_i_base_multivect_type) :: x
@ -1681,6 +1700,7 @@ contains
!
subroutine i_base_mlv_gthzbuf(i,ixb,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, ixb, n
class(psb_i_base_vect_type) :: idx
class(psb_i_base_multivect_type) :: x
@ -1712,6 +1732,7 @@ contains
!! \param x(:)
subroutine i_base_mlv_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_ipk_) :: beta, x(:)
class(psb_i_base_multivect_type) :: y
@ -1726,6 +1747,7 @@ contains
subroutine i_base_mlv_sctbr2(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
integer(psb_ipk_) :: beta, x(:,:)
class(psb_i_base_multivect_type) :: y
@ -1740,6 +1762,7 @@ contains
subroutine i_base_mlv_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
integer( psb_ipk_) :: beta, x(:)
@ -1751,6 +1774,7 @@ contains
subroutine i_base_mlv_sctb_buf(i,iyb,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, iyb, n
class(psb_i_base_vect_type) :: idx
integer(psb_ipk_) :: beta

@ -584,9 +584,9 @@ module psb_i_multivect_mod
module procedure psb_i_set_multivect_default
end interface psb_set_multivect_default
interface psb_get_vect_default
interface psb_get_multivect_default
module procedure psb_i_get_multivect_default
end interface psb_get_vect_default
end interface psb_get_multivect_default
contains

@ -115,10 +115,7 @@ module psb_s_base_mat_mod
procedure, pass(a) :: aclsum => psb_s_base_aclsum
end type psb_s_base_sparse_mat
private :: s_base_mat_sync, s_base_mat_is_host, s_base_mat_is_dev, &
& s_base_mat_is_sync, s_base_mat_set_host, s_base_mat_set_dev,&
& s_base_mat_set_sync
!> \namespace psb_base_mod \class psb_s_coo_sparse_mat
!! \extends psb_s_base_mat_mod::psb_s_base_sparse_mat
!!

@ -222,6 +222,7 @@ contains
!!
subroutine s_base_bld_x(x,this)
use psb_realloc_mod
implicit none
real(psb_spk_), intent(in) :: this(:)
class(psb_s_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -246,6 +247,7 @@ contains
!!
subroutine s_base_bld_n(x,n)
use psb_realloc_mod
implicit none
integer(psb_ipk_), intent(in) :: n
class(psb_s_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -718,6 +720,7 @@ contains
!! \param val The value to set
!!
subroutine s_base_set_scal(x,val,first,last)
implicit none
class(psb_s_base_vect_type), intent(inout) :: x
real(psb_spk_), intent(in) :: val
integer(psb_ipk_), optional :: first, last
@ -743,6 +746,7 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine s_base_set_vect(x,val,first,last)
implicit none
class(psb_s_base_vect_type), intent(inout) :: x
real(psb_spk_), intent(in) :: val(:)
integer(psb_ipk_), optional :: first, last
@ -775,6 +779,7 @@ contains
!! \brief Set all entries to their respective absolute values.
!!
subroutine s_base_absval1(x)
implicit none
class(psb_s_base_vect_type), intent(inout) :: x
if (allocated(x%v)) then
@ -786,7 +791,8 @@ contains
end subroutine s_base_absval1
subroutine s_base_absval2(x,y)
class(psb_s_base_vect_type), intent(inout) :: x
implicit none
class(psb_s_base_vect_type), intent(inout) :: x
class(psb_s_base_vect_type), intent(inout) :: y
integer(psb_ipk_) :: info
if (.not.x%is_host()) call x%sync()
@ -1210,6 +1216,7 @@ contains
!! \param beta
subroutine s_base_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_spk_) :: alpha, beta, y(:)
class(psb_s_base_vect_type) :: x
@ -1229,6 +1236,7 @@ contains
!! \param idx(:) indices
subroutine s_base_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
real(psb_spk_) :: y(:)
@ -1244,6 +1252,7 @@ contains
!
subroutine s_base_gthzbuf(i,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
class(psb_s_base_vect_type) :: x
@ -1306,6 +1315,7 @@ contains
!! \param idx(:) indices
subroutine s_base_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_spk_) :: y(:)
class(psb_s_base_vect_type) :: x
@ -1330,6 +1340,7 @@ contains
!! \param x(:)
subroutine s_base_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_spk_) :: beta, x(:)
class(psb_s_base_vect_type) :: y
@ -1342,6 +1353,7 @@ contains
subroutine s_base_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
real(psb_spk_) :: beta, x(:)
@ -1355,6 +1367,7 @@ contains
subroutine s_base_sctb_buf(i,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
real(psb_spk_) :: beta
@ -1949,6 +1962,7 @@ contains
!!
!
function s_base_mlv_get_vect(x) result(res)
implicit none
class(psb_s_base_multivect_type), intent(inout) :: x
real(psb_spk_), allocatable :: res(:,:)
integer(psb_ipk_) :: info,m,n
@ -1974,6 +1988,7 @@ contains
!! \param val The value to set
!!
subroutine s_base_mlv_set_scal(x,val)
implicit none
class(psb_s_base_multivect_type), intent(inout) :: x
real(psb_spk_), intent(in) :: val
@ -1989,9 +2004,10 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine s_base_mlv_set_vect(x,val)
implicit none
class(psb_s_base_multivect_type), intent(inout) :: x
real(psb_spk_), intent(in) :: val(:,:)
integer(psb_ipk_) :: nr
integer(psb_ipk_) :: nr, nc
integer(psb_ipk_) :: info
if (allocated(x%v)) then
@ -2462,6 +2478,7 @@ contains
!! \brief Set all entries to their respective absolute values.
!!
subroutine s_base_mlv_absval1(x)
implicit none
class(psb_s_base_multivect_type), intent(inout) :: x
if (allocated(x%v)) then
@ -2473,6 +2490,7 @@ contains
end subroutine s_base_mlv_absval1
subroutine s_base_mlv_absval2(x,y)
implicit none
class(psb_s_base_multivect_type), intent(inout) :: x
class(psb_s_base_multivect_type), intent(inout) :: y
integer(psb_ipk_) :: info
@ -2487,6 +2505,7 @@ contains
function s_base_mlv_use_buffer() result(res)
implicit none
logical :: res
res = .true.
@ -2563,6 +2582,7 @@ contains
!! \param beta
subroutine s_base_mlv_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_spk_) :: alpha, beta, y(:)
class(psb_s_base_multivect_type) :: x
@ -2587,6 +2607,7 @@ contains
!! \param idx(:) indices
subroutine s_base_mlv_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
real(psb_spk_) :: y(:)
@ -2608,6 +2629,7 @@ contains
!! \param idx(:) indices
subroutine s_base_mlv_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_spk_) :: y(:)
class(psb_s_base_multivect_type) :: x
@ -2633,6 +2655,7 @@ contains
!! \param idx(:) indices
subroutine s_base_mlv_gthzm(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_spk_) :: y(:,:)
class(psb_s_base_multivect_type) :: x
@ -2653,6 +2676,7 @@ contains
!
subroutine s_base_mlv_gthzbuf(i,ixb,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, ixb, n
class(psb_i_base_vect_type) :: idx
class(psb_s_base_multivect_type) :: x
@ -2684,6 +2708,7 @@ contains
!! \param x(:)
subroutine s_base_mlv_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_spk_) :: beta, x(:)
class(psb_s_base_multivect_type) :: y
@ -2698,6 +2723,7 @@ contains
subroutine s_base_mlv_sctbr2(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
real(psb_spk_) :: beta, x(:,:)
class(psb_s_base_multivect_type) :: y
@ -2712,6 +2738,7 @@ contains
subroutine s_base_mlv_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
real( psb_spk_) :: beta, x(:)
@ -2723,6 +2750,7 @@ contains
subroutine s_base_mlv_sctb_buf(i,iyb,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, iyb, n
class(psb_i_base_vect_type) :: idx
real(psb_spk_) :: beta

@ -855,9 +855,9 @@ module psb_s_multivect_mod
module procedure psb_s_set_multivect_default
end interface psb_set_multivect_default
interface psb_get_vect_default
interface psb_get_multivect_default
module procedure psb_s_get_multivect_default
end interface psb_get_vect_default
end interface psb_get_multivect_default
contains

@ -115,10 +115,7 @@ module psb_z_base_mat_mod
procedure, pass(a) :: aclsum => psb_z_base_aclsum
end type psb_z_base_sparse_mat
private :: z_base_mat_sync, z_base_mat_is_host, z_base_mat_is_dev, &
& z_base_mat_is_sync, z_base_mat_set_host, z_base_mat_set_dev,&
& z_base_mat_set_sync
!> \namespace psb_base_mod \class psb_z_coo_sparse_mat
!! \extends psb_z_base_mat_mod::psb_z_base_sparse_mat
!!

@ -222,6 +222,7 @@ contains
!!
subroutine z_base_bld_x(x,this)
use psb_realloc_mod
implicit none
complex(psb_dpk_), intent(in) :: this(:)
class(psb_z_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -246,6 +247,7 @@ contains
!!
subroutine z_base_bld_n(x,n)
use psb_realloc_mod
implicit none
integer(psb_ipk_), intent(in) :: n
class(psb_z_base_vect_type), intent(inout) :: x
integer(psb_ipk_) :: info
@ -718,6 +720,7 @@ contains
!! \param val The value to set
!!
subroutine z_base_set_scal(x,val,first,last)
implicit none
class(psb_z_base_vect_type), intent(inout) :: x
complex(psb_dpk_), intent(in) :: val
integer(psb_ipk_), optional :: first, last
@ -743,6 +746,7 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine z_base_set_vect(x,val,first,last)
implicit none
class(psb_z_base_vect_type), intent(inout) :: x
complex(psb_dpk_), intent(in) :: val(:)
integer(psb_ipk_), optional :: first, last
@ -775,6 +779,7 @@ contains
!! \brief Set all entries to their respective absolute values.
!!
subroutine z_base_absval1(x)
implicit none
class(psb_z_base_vect_type), intent(inout) :: x
if (allocated(x%v)) then
@ -786,7 +791,8 @@ contains
end subroutine z_base_absval1
subroutine z_base_absval2(x,y)
class(psb_z_base_vect_type), intent(inout) :: x
implicit none
class(psb_z_base_vect_type), intent(inout) :: x
class(psb_z_base_vect_type), intent(inout) :: y
integer(psb_ipk_) :: info
if (.not.x%is_host()) call x%sync()
@ -1210,6 +1216,7 @@ contains
!! \param beta
subroutine z_base_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_dpk_) :: alpha, beta, y(:)
class(psb_z_base_vect_type) :: x
@ -1229,6 +1236,7 @@ contains
!! \param idx(:) indices
subroutine z_base_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
complex(psb_dpk_) :: y(:)
@ -1244,6 +1252,7 @@ contains
!
subroutine z_base_gthzbuf(i,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
class(psb_z_base_vect_type) :: x
@ -1306,6 +1315,7 @@ contains
!! \param idx(:) indices
subroutine z_base_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_dpk_) :: y(:)
class(psb_z_base_vect_type) :: x
@ -1330,6 +1340,7 @@ contains
!! \param x(:)
subroutine z_base_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_dpk_) :: beta, x(:)
class(psb_z_base_vect_type) :: y
@ -1342,6 +1353,7 @@ contains
subroutine z_base_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
complex(psb_dpk_) :: beta, x(:)
@ -1355,6 +1367,7 @@ contains
subroutine z_base_sctb_buf(i,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
complex(psb_dpk_) :: beta
@ -1949,6 +1962,7 @@ contains
!!
!
function z_base_mlv_get_vect(x) result(res)
implicit none
class(psb_z_base_multivect_type), intent(inout) :: x
complex(psb_dpk_), allocatable :: res(:,:)
integer(psb_ipk_) :: info,m,n
@ -1974,6 +1988,7 @@ contains
!! \param val The value to set
!!
subroutine z_base_mlv_set_scal(x,val)
implicit none
class(psb_z_base_multivect_type), intent(inout) :: x
complex(psb_dpk_), intent(in) :: val
@ -1989,9 +2004,10 @@ contains
!! \param val(:) The vector to be copied in
!!
subroutine z_base_mlv_set_vect(x,val)
implicit none
class(psb_z_base_multivect_type), intent(inout) :: x
complex(psb_dpk_), intent(in) :: val(:,:)
integer(psb_ipk_) :: nr
integer(psb_ipk_) :: nr, nc
integer(psb_ipk_) :: info
if (allocated(x%v)) then
@ -2462,6 +2478,7 @@ contains
!! \brief Set all entries to their respective absolute values.
!!
subroutine z_base_mlv_absval1(x)
implicit none
class(psb_z_base_multivect_type), intent(inout) :: x
if (allocated(x%v)) then
@ -2473,6 +2490,7 @@ contains
end subroutine z_base_mlv_absval1
subroutine z_base_mlv_absval2(x,y)
implicit none
class(psb_z_base_multivect_type), intent(inout) :: x
class(psb_z_base_multivect_type), intent(inout) :: y
integer(psb_ipk_) :: info
@ -2487,6 +2505,7 @@ contains
function z_base_mlv_use_buffer() result(res)
implicit none
logical :: res
res = .true.
@ -2563,6 +2582,7 @@ contains
!! \param beta
subroutine z_base_mlv_gthab(n,idx,alpha,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_dpk_) :: alpha, beta, y(:)
class(psb_z_base_multivect_type) :: x
@ -2587,6 +2607,7 @@ contains
!! \param idx(:) indices
subroutine z_base_mlv_gthzv_x(i,n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i,n
class(psb_i_base_vect_type) :: idx
complex(psb_dpk_) :: y(:)
@ -2608,6 +2629,7 @@ contains
!! \param idx(:) indices
subroutine z_base_mlv_gthzv(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_dpk_) :: y(:)
class(psb_z_base_multivect_type) :: x
@ -2633,6 +2655,7 @@ contains
!! \param idx(:) indices
subroutine z_base_mlv_gthzm(n,idx,x,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_dpk_) :: y(:,:)
class(psb_z_base_multivect_type) :: x
@ -2653,6 +2676,7 @@ contains
!
subroutine z_base_mlv_gthzbuf(i,ixb,n,idx,x)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, ixb, n
class(psb_i_base_vect_type) :: idx
class(psb_z_base_multivect_type) :: x
@ -2684,6 +2708,7 @@ contains
!! \param x(:)
subroutine z_base_mlv_sctb(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_dpk_) :: beta, x(:)
class(psb_z_base_multivect_type) :: y
@ -2698,6 +2723,7 @@ contains
subroutine z_base_mlv_sctbr2(n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: n, idx(:)
complex(psb_dpk_) :: beta, x(:,:)
class(psb_z_base_multivect_type) :: y
@ -2712,6 +2738,7 @@ contains
subroutine z_base_mlv_sctb_x(i,n,idx,x,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, n
class(psb_i_base_vect_type) :: idx
complex( psb_dpk_) :: beta, x(:)
@ -2723,6 +2750,7 @@ contains
subroutine z_base_mlv_sctb_buf(i,iyb,n,idx,beta,y)
use psi_serial_mod
implicit none
integer(psb_ipk_) :: i, iyb, n
class(psb_i_base_vect_type) :: idx
complex(psb_dpk_) :: beta

@ -855,9 +855,9 @@ module psb_z_multivect_mod
module procedure psb_z_set_multivect_default
end interface psb_set_multivect_default
interface psb_get_vect_default
interface psb_get_multivect_default
module procedure psb_z_get_multivect_default
end interface psb_get_vect_default
end interface psb_get_multivect_default
contains

@ -47,11 +47,14 @@ subroutine symbmm(n, m, l, ia, ja, diaga, ib, jb, diagb,&
use psb_const_mod
use psb_realloc_mod
use psb_sort_mod, only: psb_msort
implicit none
!
integer(psb_ipk_) :: n,m,l
integer(psb_ipk_) :: ia(*), ja(*), diaga, &
& ib(*), jb(*), diagb, diagc, index(*)
integer(psb_ipk_), allocatable :: ic(:),jc(:)
integer(psb_ipk_) :: nze, info
integer(psb_ipk_) :: nze, info,i,j,k,jj
integer(psb_ipk_) :: minlm,minln,minmn,maxlmn, istart,length
!
! symbolic matrix multiply c=a*b
@ -162,10 +165,13 @@ subroutine cnumbmm(n, m, l, ia, ja, diaga, a, ib, jb, diagb, b,&
& ic, jc, diagc, c, temp)
!
use psb_const_mod
implicit none
integer(psb_ipk_) :: n,m,l
integer(psb_ipk_) :: ia(*), ja(*), diaga,&
& ib(*), jb(*), diagb, ic(*), jc(*), diagc
!
complex(psb_spk_) :: a(*), b(*), c(*), temp(*),ajj
integer(psb_ipk_) :: i,j,k,jj,minlm,minln,minmn,maxlmn
!
! numeric matrix multiply c=a*b
!
@ -244,11 +250,14 @@ end subroutine cnumbmm
subroutine dnumbmm(n, m, l, ia, ja, diaga, a, ib, jb, diagb, b,&
& ic, jc, diagc, c, temp)
use psb_const_mod
implicit none
!
integer(psb_ipk_) :: n,m,l
integer(psb_ipk_) :: ia(*), ja(*), diaga, ib(*), jb(*), diagb,&
& ic(*), jc(*), diagc
!
real(psb_dpk_) :: a(*), b(*), c(*), temp(*),ajj
integer(psb_ipk_) :: i,j,k,jj,minlm,minln,minmn,maxlmn
!
! numeric matrix multiply c=a*b
!
@ -327,11 +336,14 @@ end subroutine dnumbmm
subroutine snumbmm(n, m, l, ia, ja, diaga, a, ib, jb, diagb, b,&
& ic, jc, diagc, c, temp)
use psb_const_mod
implicit none
!
integer(psb_ipk_) :: n,m,l
integer(psb_ipk_) :: ia(*), ja(*), diaga, ib(*), jb(*), diagb,&
& ic(*), jc(*), diagc
!
real(psb_spk_) :: a(*), b(*), c(*), temp(*),ajj
integer(psb_ipk_) :: i,j,k,jj,minlm,minln,minmn,maxlmn
!
! numeric matrix multiply c=a*b
!
@ -411,10 +423,13 @@ subroutine znumbmm(n, m, l, ia, ja, diaga, a, ib, jb, diagb, b,&
& ic, jc, diagc, c, temp)
!
use psb_const_mod
implicit none
integer(psb_ipk_) :: n,m,l
integer(psb_ipk_) :: ia(*), ja(*), diaga, ib(*), jb(*), diagb,&
& ic(*), jc(*), diagc
!
complex(psb_dpk_) :: a(*), b(*), c(*), temp(*),ajj
integer(psb_ipk_) :: i,j,k,jj,minlm,minln,minmn,maxlmn
!
! numeric matrix multiply c=a*b
!

@ -75,6 +75,7 @@ module psb_metispart_mod
contains
subroutine part_graph(global_indx,n,np,pv,nv)
implicit none
integer(psb_ipk_), intent(in) :: global_indx, n
integer(psb_ipk_), intent(in) :: np
integer(psb_ipk_), intent(out) :: nv
@ -98,9 +99,10 @@ contains
subroutine distr_mtpart(root, ictxt)
use psb_base_mod
implicit none
integer(psb_ipk_) :: root, ictxt
integer(psb_ipk_) :: n, me, np
integer(psb_ipk_) :: n, me, np, info
call psb_info(ictxt,me,np)
if (.not.((root>=0).and.(root<np))) then
@ -136,6 +138,7 @@ contains
end subroutine distr_mtpart
subroutine getv_mtpart(ivg)
implicit none
integer(psb_ipk_), allocatable, intent(out) :: ivg(:)
if (allocated(graph_vect)) then
allocate(ivg(size(graph_vect)))
@ -145,6 +148,7 @@ contains
subroutine d_mat_build_mtpart(a,nparts,weights)
use psb_base_mod
implicit none
type(psb_dspmat_type), intent(in) :: a
integer(psb_ipk_) :: nparts
real(psb_dpk_), optional :: weights(:)
@ -172,6 +176,7 @@ contains
subroutine z_mat_build_mtpart(a,nparts,weights)
use psb_base_mod
implicit none
type(psb_zspmat_type), intent(in) :: a
integer(psb_ipk_) :: nparts
real(psb_dpk_), optional :: weights(:)
@ -199,6 +204,7 @@ contains
subroutine s_mat_build_mtpart(a,nparts,weights)
use psb_base_mod
implicit none
type(psb_sspmat_type), intent(in) :: a
integer(psb_ipk_) :: nparts
real(psb_spk_), optional :: weights(:)
@ -216,6 +222,7 @@ contains
subroutine c_mat_build_mtpart(a,nparts,weights)
use psb_base_mod
implicit none
type(psb_cspmat_type), intent(in) :: a
integer(psb_ipk_) :: nparts
real(psb_spk_), optional :: weights(:)
@ -233,6 +240,7 @@ contains
subroutine d_csr_build_mtpart(a,nparts,weights)
use psb_base_mod
implicit none
type(psb_d_csr_sparse_mat), intent(in) :: a
integer(psb_ipk_) :: nparts
real(psb_dpk_), optional :: weights(:)
@ -254,6 +262,7 @@ contains
subroutine z_csr_build_mtpart(a,nparts,weights)
use psb_base_mod
implicit none
type(psb_z_csr_sparse_mat), intent(in) :: a
integer(psb_ipk_) :: nparts
real(psb_dpk_), optional :: weights(:)
@ -276,6 +285,7 @@ contains
subroutine s_csr_build_mtpart(a,nparts,weights)
use psb_base_mod
implicit none
type(psb_s_csr_sparse_mat), intent(in) :: a
integer(psb_ipk_) :: nparts
real(psb_spk_), optional :: weights(:)
@ -288,6 +298,7 @@ contains
subroutine c_csr_build_mtpart(a,nparts,weights)
use psb_base_mod
implicit none
type(psb_c_csr_sparse_mat), intent(in) :: a
integer(psb_ipk_) :: nparts
real(psb_spk_), optional :: weights(:)
@ -402,6 +413,7 @@ contains
subroutine free_part(info)
implicit none
integer(psb_ipk_) :: info
deallocate(graph_vect,stat=info)

Loading…
Cancel
Save