Fixed declaration and use of CONTEXT with new type.

new-context
Salvatore Filippone 4 years ago
parent 2009ed8dbe
commit b376d226cb

@ -47,7 +47,8 @@ subroutine psi_covrl_restr_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_covrl_restr_vect' name='psi_covrl_restr_vect'
@ -89,7 +90,8 @@ subroutine psi_covrl_restr_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_covrl_restr_mv' name='psi_covrl_restr_mv'

@ -45,7 +45,8 @@ subroutine psi_covrl_restrr1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_covrl_restrr1' name='psi_covrl_restrr1'
@ -88,7 +89,8 @@ subroutine psi_covrl_restrr2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_covrl_restrr2' name='psi_covrl_restrr2'

@ -47,7 +47,8 @@ subroutine psi_covrl_save_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'
@ -82,8 +83,6 @@ subroutine psi_covrl_save_vect(x,xs,desc_a,info)
return return
end subroutine psi_covrl_save_vect end subroutine psi_covrl_save_vect
subroutine psi_covrl_save_multivect(x,xs,desc_a,info) subroutine psi_covrl_save_multivect(x,xs,desc_a,info)
use psi_mod, psi_protect_name => psi_covrl_save_multivect use psi_mod, psi_protect_name => psi_covrl_save_multivect
use psb_realloc_mod use psb_realloc_mod
@ -97,7 +96,8 @@ subroutine psi_covrl_save_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'

@ -47,7 +47,8 @@ subroutine psi_covrl_saver1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_covrl_saver1' name='psi_covrl_saver1'
@ -99,7 +100,8 @@ subroutine psi_covrl_saver2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_covrl_saver2' name='psi_covrl_saver2'

@ -32,7 +32,7 @@
! Subroutine: psi_covrl_update ! Subroutine: psi_covrl_update
! These subroutines update the overlap region of a vector; they are used ! These subroutines update the overlap region of a vector; they are used
! for the transpose matrix-vector product when there is a nonempty overlap, ! for the transpose matrix-vector product when there is a nonempty overlap,
! or for the application of Additive Schwarz preconditioners. ! or for the application of Additive Schwarz preconditioners.
! !
! !
! !
@ -50,7 +50,8 @@ subroutine psi_covrl_upd_vect(x,desc_a,update,info)
! locals ! locals
complex(psb_spk_), allocatable :: xs(:) complex(psb_spk_), allocatable :: xs(:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -131,7 +132,8 @@ subroutine psi_covrl_upd_multivect(x,desc_a,update,info)
! locals ! locals
complex(psb_spk_), allocatable :: xs(:,:) complex(psb_spk_), allocatable :: xs(:,:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -46,7 +46,8 @@ subroutine psi_covrl_updr1(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -103,7 +104,6 @@ subroutine psi_covrl_updr1(x,desc_a,update,info)
return return
end subroutine psi_covrl_updr1 end subroutine psi_covrl_updr1
subroutine psi_covrl_updr2(x,desc_a,update,info) subroutine psi_covrl_updr2(x,desc_a,update,info)
use psi_mod, psi_protect_name => psi_covrl_updr2 use psi_mod, psi_protect_name => psi_covrl_updr2
@ -115,7 +115,8 @@ subroutine psi_covrl_updr2(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -113,7 +113,9 @@ subroutine psi_cswapdata_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -190,8 +192,10 @@ subroutine psi_cswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_c_base_vect_type) :: y class(psb_c_base_vect_type) :: y
complex(psb_spk_) :: beta complex(psb_spk_) :: beta
complex(psb_spk_), target :: work(:) complex(psb_spk_), target :: work(:)
@ -199,7 +203,8 @@ subroutine psi_cswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -413,7 +418,7 @@ subroutine psi_cswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_cswap_vidx_vect end subroutine psi_cswap_vidx_vect
@ -450,7 +455,9 @@ subroutine psi_cswapdata_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -527,8 +534,10 @@ subroutine psi_cswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_c_base_multivect_type) :: y class(psb_c_base_multivect_type) :: y
complex(psb_spk_) :: beta complex(psb_spk_) :: beta
complex(psb_spk_), target :: work(:) complex(psb_spk_), target :: work(:)
@ -536,7 +545,8 @@ subroutine psi_cswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -756,7 +766,7 @@ subroutine psi_cswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_cswap_vidx_multivect end subroutine psi_cswap_vidx_multivect

@ -106,7 +106,9 @@ subroutine psi_cswapdatam(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -152,7 +154,7 @@ subroutine psi_cswapdatam(flag,n,beta,y,desc_a,work,info,data)
return return
end subroutine psi_cswapdatam end subroutine psi_cswapdatam
subroutine psi_cswapidxm(iictxt,iicomm,flag,n,beta,y,idx, & subroutine psi_cswapidxm(ictxt,icomm,flag,n,beta,y,idx, &
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_cswapidxm use psi_mod, psb_protect_name => psi_cswapidxm
@ -167,14 +169,17 @@ subroutine psi_cswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: ictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_), target :: work(:) complex(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,&
integer(psb_mpk_) :: np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -192,8 +197,6 @@ subroutine psi_cswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
info=psb_success_ info=psb_success_
name='psi_swap_data' name='psi_swap_data'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
ictxt = iictxt
icomm = iicomm
call psb_info(ictxt,me,np) call psb_info(ictxt,me,np)
if (np == -1) then if (np == -1) then
@ -498,7 +501,7 @@ subroutine psi_cswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_cswapidxm end subroutine psi_cswapidxm
@ -579,7 +582,9 @@ subroutine psi_cswapdatav(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -651,14 +656,17 @@ subroutine psi_cswapidxv(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:), beta complex(psb_spk_) :: y(:), beta
complex(psb_spk_), target :: work(:) complex(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -980,7 +988,7 @@ subroutine psi_cswapidxv(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_cswapidxv end subroutine psi_cswapidxv

@ -115,7 +115,9 @@ subroutine psi_cswaptran_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -161,8 +163,6 @@ subroutine psi_cswaptran_vect(flag,beta,y,desc_a,work,info,data)
return return
end subroutine psi_cswaptran_vect end subroutine psi_cswaptran_vect
! !
! !
! Subroutine: psi_ctran_vidx_vect ! Subroutine: psi_ctran_vidx_vect
@ -193,7 +193,9 @@ subroutine psi_ctran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_c_base_vect_type) :: y class(psb_c_base_vect_type) :: y
complex(psb_spk_) :: beta complex(psb_spk_) :: beta
@ -202,7 +204,8 @@ subroutine psi_ctran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -422,7 +425,7 @@ subroutine psi_ctran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -463,7 +466,9 @@ subroutine psi_cswaptran_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -540,7 +545,9 @@ subroutine psi_ctran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_c_base_multivect_type) :: y class(psb_c_base_multivect_type) :: y
complex(psb_spk_) :: beta complex(psb_spk_) :: beta
@ -549,7 +556,8 @@ subroutine psi_ctran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -773,7 +781,7 @@ subroutine psi_ctran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -110,7 +110,9 @@ subroutine psi_cswaptranm(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, err_act, totxch, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -172,14 +174,17 @@ subroutine psi_ctranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:,:), beta complex(psb_spk_) :: y(:,:), beta
complex(psb_spk_), target :: work(:) complex(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -508,7 +513,7 @@ subroutine psi_ctranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_ctranidxm end subroutine psi_ctranidxm
@ -592,7 +597,9 @@ subroutine psi_cswaptranv(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -664,14 +671,17 @@ subroutine psi_ctranidxv(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_spk_) :: y(:), beta complex(psb_spk_) :: y(:), beta
complex(psb_spk_), target :: work(:) complex(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -996,7 +1006,7 @@ subroutine psi_ctranidxv(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_ctranidxv end subroutine psi_ctranidxv

@ -47,7 +47,8 @@ subroutine psi_dovrl_restr_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_restr_vect' name='psi_dovrl_restr_vect'
@ -89,7 +90,8 @@ subroutine psi_dovrl_restr_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_restr_mv' name='psi_dovrl_restr_mv'

@ -45,7 +45,8 @@ subroutine psi_dovrl_restrr1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_restrr1' name='psi_dovrl_restrr1'
@ -88,7 +89,8 @@ subroutine psi_dovrl_restrr2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_restrr2' name='psi_dovrl_restrr2'

@ -47,7 +47,8 @@ subroutine psi_dovrl_save_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'
@ -82,8 +83,6 @@ subroutine psi_dovrl_save_vect(x,xs,desc_a,info)
return return
end subroutine psi_dovrl_save_vect end subroutine psi_dovrl_save_vect
subroutine psi_dovrl_save_multivect(x,xs,desc_a,info) subroutine psi_dovrl_save_multivect(x,xs,desc_a,info)
use psi_mod, psi_protect_name => psi_dovrl_save_multivect use psi_mod, psi_protect_name => psi_dovrl_save_multivect
use psb_realloc_mod use psb_realloc_mod
@ -97,7 +96,8 @@ subroutine psi_dovrl_save_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'

@ -47,7 +47,8 @@ subroutine psi_dovrl_saver1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'
@ -99,7 +100,8 @@ subroutine psi_dovrl_saver2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver2' name='psi_dovrl_saver2'

@ -32,7 +32,7 @@
! Subroutine: psi_dovrl_update ! Subroutine: psi_dovrl_update
! These subroutines update the overlap region of a vector; they are used ! These subroutines update the overlap region of a vector; they are used
! for the transpose matrix-vector product when there is a nonempty overlap, ! for the transpose matrix-vector product when there is a nonempty overlap,
! or for the application of Additive Schwarz preconditioners. ! or for the application of Additive Schwarz preconditioners.
! !
! !
! !
@ -50,7 +50,8 @@ subroutine psi_dovrl_upd_vect(x,desc_a,update,info)
! locals ! locals
real(psb_dpk_), allocatable :: xs(:) real(psb_dpk_), allocatable :: xs(:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -131,7 +132,8 @@ subroutine psi_dovrl_upd_multivect(x,desc_a,update,info)
! locals ! locals
real(psb_dpk_), allocatable :: xs(:,:) real(psb_dpk_), allocatable :: xs(:,:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -46,7 +46,8 @@ subroutine psi_dovrl_updr1(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -103,7 +104,6 @@ subroutine psi_dovrl_updr1(x,desc_a,update,info)
return return
end subroutine psi_dovrl_updr1 end subroutine psi_dovrl_updr1
subroutine psi_dovrl_updr2(x,desc_a,update,info) subroutine psi_dovrl_updr2(x,desc_a,update,info)
use psi_mod, psi_protect_name => psi_dovrl_updr2 use psi_mod, psi_protect_name => psi_dovrl_updr2
@ -115,7 +115,8 @@ subroutine psi_dovrl_updr2(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -113,7 +113,9 @@ subroutine psi_dswapdata_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -190,8 +192,10 @@ subroutine psi_dswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_d_base_vect_type) :: y class(psb_d_base_vect_type) :: y
real(psb_dpk_) :: beta real(psb_dpk_) :: beta
real(psb_dpk_), target :: work(:) real(psb_dpk_), target :: work(:)
@ -199,7 +203,8 @@ subroutine psi_dswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -413,7 +418,7 @@ subroutine psi_dswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_dswap_vidx_vect end subroutine psi_dswap_vidx_vect
@ -450,7 +455,9 @@ subroutine psi_dswapdata_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -527,8 +534,10 @@ subroutine psi_dswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_d_base_multivect_type) :: y class(psb_d_base_multivect_type) :: y
real(psb_dpk_) :: beta real(psb_dpk_) :: beta
real(psb_dpk_), target :: work(:) real(psb_dpk_), target :: work(:)
@ -536,7 +545,8 @@ subroutine psi_dswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -756,7 +766,7 @@ subroutine psi_dswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_dswap_vidx_multivect end subroutine psi_dswap_vidx_multivect

@ -106,7 +106,9 @@ subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -152,7 +154,7 @@ subroutine psi_dswapdatam(flag,n,beta,y,desc_a,work,info,data)
return return
end subroutine psi_dswapdatam end subroutine psi_dswapdatam
subroutine psi_dswapidxm(iictxt,iicomm,flag,n,beta,y,idx, & subroutine psi_dswapidxm(ictxt,icomm,flag,n,beta,y,idx, &
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_dswapidxm use psi_mod, psb_protect_name => psi_dswapidxm
@ -167,14 +169,17 @@ subroutine psi_dswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: ictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_), target :: work(:) real(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,&
integer(psb_mpk_) :: np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -192,8 +197,6 @@ subroutine psi_dswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
info=psb_success_ info=psb_success_
name='psi_swap_data' name='psi_swap_data'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
ictxt = iictxt
icomm = iicomm
call psb_info(ictxt,me,np) call psb_info(ictxt,me,np)
if (np == -1) then if (np == -1) then
@ -498,7 +501,7 @@ subroutine psi_dswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_dswapidxm end subroutine psi_dswapidxm
@ -579,7 +582,9 @@ subroutine psi_dswapdatav(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -651,14 +656,17 @@ subroutine psi_dswapidxv(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:), beta real(psb_dpk_) :: y(:), beta
real(psb_dpk_), target :: work(:) real(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -980,7 +988,7 @@ subroutine psi_dswapidxv(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_dswapidxv end subroutine psi_dswapidxv

@ -115,7 +115,9 @@ subroutine psi_dswaptran_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -161,8 +163,6 @@ subroutine psi_dswaptran_vect(flag,beta,y,desc_a,work,info,data)
return return
end subroutine psi_dswaptran_vect end subroutine psi_dswaptran_vect
! !
! !
! Subroutine: psi_dtran_vidx_vect ! Subroutine: psi_dtran_vidx_vect
@ -193,7 +193,9 @@ subroutine psi_dtran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_d_base_vect_type) :: y class(psb_d_base_vect_type) :: y
real(psb_dpk_) :: beta real(psb_dpk_) :: beta
@ -202,7 +204,8 @@ subroutine psi_dtran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -422,7 +425,7 @@ subroutine psi_dtran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -463,7 +466,9 @@ subroutine psi_dswaptran_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -540,7 +545,9 @@ subroutine psi_dtran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_d_base_multivect_type) :: y class(psb_d_base_multivect_type) :: y
real(psb_dpk_) :: beta real(psb_dpk_) :: beta
@ -549,7 +556,8 @@ subroutine psi_dtran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -773,7 +781,7 @@ subroutine psi_dtran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -110,7 +110,9 @@ subroutine psi_dswaptranm(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, err_act, totxch, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -172,14 +174,17 @@ subroutine psi_dtranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:,:), beta real(psb_dpk_) :: y(:,:), beta
real(psb_dpk_), target :: work(:) real(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -508,7 +513,7 @@ subroutine psi_dtranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_dtranidxm end subroutine psi_dtranidxm
@ -592,7 +597,9 @@ subroutine psi_dswaptranv(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -664,14 +671,17 @@ subroutine psi_dtranidxv(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_dpk_) :: y(:), beta real(psb_dpk_) :: y(:), beta
real(psb_dpk_), target :: work(:) real(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -996,7 +1006,7 @@ subroutine psi_dtranidxv(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_dtranidxv end subroutine psi_dtranidxv

@ -45,7 +45,8 @@ subroutine psi_eovrl_restrr1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_eovrl_restrr1' name='psi_eovrl_restrr1'
@ -88,7 +89,8 @@ subroutine psi_eovrl_restrr2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_eovrl_restrr2' name='psi_eovrl_restrr2'

@ -47,7 +47,8 @@ subroutine psi_eovrl_saver1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_eovrl_saver1' name='psi_eovrl_saver1'
@ -99,7 +100,8 @@ subroutine psi_eovrl_saver2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_eovrl_saver2' name='psi_eovrl_saver2'

@ -46,7 +46,8 @@ subroutine psi_eovrl_updr1(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -103,7 +104,6 @@ subroutine psi_eovrl_updr1(x,desc_a,update,info)
return return
end subroutine psi_eovrl_updr1 end subroutine psi_eovrl_updr1
subroutine psi_eovrl_updr2(x,desc_a,update,info) subroutine psi_eovrl_updr2(x,desc_a,update,info)
use psi_mod, psi_protect_name => psi_eovrl_updr2 use psi_mod, psi_protect_name => psi_eovrl_updr2
@ -115,7 +115,8 @@ subroutine psi_eovrl_updr2(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -106,7 +106,9 @@ subroutine psi_eswapdatam(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -152,7 +154,7 @@ subroutine psi_eswapdatam(flag,n,beta,y,desc_a,work,info,data)
return return
end subroutine psi_eswapdatam end subroutine psi_eswapdatam
subroutine psi_eswapidxm(iictxt,iicomm,flag,n,beta,y,idx, & subroutine psi_eswapidxm(ictxt,icomm,flag,n,beta,y,idx, &
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_eswapidxm use psi_mod, psb_protect_name => psi_eswapidxm
@ -167,14 +169,17 @@ subroutine psi_eswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: ictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_), target :: work(:) integer(psb_epk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,&
integer(psb_mpk_) :: np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -192,8 +197,6 @@ subroutine psi_eswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
info=psb_success_ info=psb_success_
name='psi_swap_data' name='psi_swap_data'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
ictxt = iictxt
icomm = iicomm
call psb_info(ictxt,me,np) call psb_info(ictxt,me,np)
if (np == -1) then if (np == -1) then
@ -498,7 +501,7 @@ subroutine psi_eswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_eswapidxm end subroutine psi_eswapidxm
@ -579,7 +582,9 @@ subroutine psi_eswapdatav(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -651,14 +656,17 @@ subroutine psi_eswapidxv(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:), beta integer(psb_epk_) :: y(:), beta
integer(psb_epk_), target :: work(:) integer(psb_epk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -980,7 +988,7 @@ subroutine psi_eswapidxv(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_eswapidxv end subroutine psi_eswapidxv

@ -110,7 +110,9 @@ subroutine psi_eswaptranm(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, err_act, totxch, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -172,14 +174,17 @@ subroutine psi_etranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:,:), beta integer(psb_epk_) :: y(:,:), beta
integer(psb_epk_), target :: work(:) integer(psb_epk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -508,7 +513,7 @@ subroutine psi_etranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_etranidxm end subroutine psi_etranidxm
@ -592,7 +597,9 @@ subroutine psi_eswaptranv(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -664,14 +671,17 @@ subroutine psi_etranidxv(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_epk_) :: y(:), beta integer(psb_epk_) :: y(:), beta
integer(psb_epk_), target :: work(:) integer(psb_epk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -996,7 +1006,7 @@ subroutine psi_etranidxv(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_etranidxv end subroutine psi_etranidxv

@ -45,7 +45,8 @@ subroutine psi_i2ovrl_restrr1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_i2ovrl_restrr1' name='psi_i2ovrl_restrr1'
@ -88,7 +89,8 @@ subroutine psi_i2ovrl_restrr2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_i2ovrl_restrr2' name='psi_i2ovrl_restrr2'

@ -47,7 +47,8 @@ subroutine psi_i2ovrl_saver1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_i2ovrl_saver1' name='psi_i2ovrl_saver1'
@ -99,7 +100,8 @@ subroutine psi_i2ovrl_saver2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_i2ovrl_saver2' name='psi_i2ovrl_saver2'

@ -46,7 +46,8 @@ subroutine psi_i2ovrl_updr1(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -103,7 +104,6 @@ subroutine psi_i2ovrl_updr1(x,desc_a,update,info)
return return
end subroutine psi_i2ovrl_updr1 end subroutine psi_i2ovrl_updr1
subroutine psi_i2ovrl_updr2(x,desc_a,update,info) subroutine psi_i2ovrl_updr2(x,desc_a,update,info)
use psi_mod, psi_protect_name => psi_i2ovrl_updr2 use psi_mod, psi_protect_name => psi_i2ovrl_updr2
@ -115,7 +115,8 @@ subroutine psi_i2ovrl_updr2(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -106,7 +106,9 @@ subroutine psi_i2swapdatam(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -152,7 +154,7 @@ subroutine psi_i2swapdatam(flag,n,beta,y,desc_a,work,info,data)
return return
end subroutine psi_i2swapdatam end subroutine psi_i2swapdatam
subroutine psi_i2swapidxm(iictxt,iicomm,flag,n,beta,y,idx, & subroutine psi_i2swapidxm(ictxt,icomm,flag,n,beta,y,idx, &
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_i2swapidxm use psi_mod, psb_protect_name => psi_i2swapidxm
@ -167,14 +169,17 @@ subroutine psi_i2swapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: ictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_), target :: work(:) integer(psb_i2pk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,&
integer(psb_mpk_) :: np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -192,8 +197,6 @@ subroutine psi_i2swapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
info=psb_success_ info=psb_success_
name='psi_swap_data' name='psi_swap_data'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
ictxt = iictxt
icomm = iicomm
call psb_info(ictxt,me,np) call psb_info(ictxt,me,np)
if (np == -1) then if (np == -1) then
@ -498,7 +501,7 @@ subroutine psi_i2swapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_i2swapidxm end subroutine psi_i2swapidxm
@ -579,7 +582,9 @@ subroutine psi_i2swapdatav(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -651,14 +656,17 @@ subroutine psi_i2swapidxv(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:), beta integer(psb_i2pk_) :: y(:), beta
integer(psb_i2pk_), target :: work(:) integer(psb_i2pk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -980,7 +988,7 @@ subroutine psi_i2swapidxv(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_i2swapidxv end subroutine psi_i2swapidxv

@ -110,7 +110,9 @@ subroutine psi_i2swaptranm(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, err_act, totxch, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -172,14 +174,17 @@ subroutine psi_i2tranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:,:), beta integer(psb_i2pk_) :: y(:,:), beta
integer(psb_i2pk_), target :: work(:) integer(psb_i2pk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -508,7 +513,7 @@ subroutine psi_i2tranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_i2tranidxm end subroutine psi_i2tranidxm
@ -592,7 +597,9 @@ subroutine psi_i2swaptranv(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -664,14 +671,17 @@ subroutine psi_i2tranidxv(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_i2pk_) :: y(:), beta integer(psb_i2pk_) :: y(:), beta
integer(psb_i2pk_), target :: work(:) integer(psb_i2pk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -996,7 +1006,7 @@ subroutine psi_i2tranidxv(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_i2tranidxv end subroutine psi_i2tranidxv

@ -47,7 +47,8 @@ subroutine psi_iovrl_restr_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_iovrl_restr_vect' name='psi_iovrl_restr_vect'
@ -89,7 +90,8 @@ subroutine psi_iovrl_restr_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_iovrl_restr_mv' name='psi_iovrl_restr_mv'

@ -47,7 +47,8 @@ subroutine psi_iovrl_save_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'
@ -82,8 +83,6 @@ subroutine psi_iovrl_save_vect(x,xs,desc_a,info)
return return
end subroutine psi_iovrl_save_vect end subroutine psi_iovrl_save_vect
subroutine psi_iovrl_save_multivect(x,xs,desc_a,info) subroutine psi_iovrl_save_multivect(x,xs,desc_a,info)
use psi_mod, psi_protect_name => psi_iovrl_save_multivect use psi_mod, psi_protect_name => psi_iovrl_save_multivect
use psb_realloc_mod use psb_realloc_mod
@ -97,7 +96,8 @@ subroutine psi_iovrl_save_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'

@ -32,7 +32,7 @@
! Subroutine: psi_iovrl_update ! Subroutine: psi_iovrl_update
! These subroutines update the overlap region of a vector; they are used ! These subroutines update the overlap region of a vector; they are used
! for the transpose matrix-vector product when there is a nonempty overlap, ! for the transpose matrix-vector product when there is a nonempty overlap,
! or for the application of Additive Schwarz preconditioners. ! or for the application of Additive Schwarz preconditioners.
! !
! !
! !
@ -50,7 +50,8 @@ subroutine psi_iovrl_upd_vect(x,desc_a,update,info)
! locals ! locals
integer(psb_ipk_), allocatable :: xs(:) integer(psb_ipk_), allocatable :: xs(:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -131,7 +132,8 @@ subroutine psi_iovrl_upd_multivect(x,desc_a,update,info)
! locals ! locals
integer(psb_ipk_), allocatable :: xs(:,:) integer(psb_ipk_), allocatable :: xs(:,:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -113,7 +113,9 @@ subroutine psi_iswapdata_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -190,8 +192,10 @@ subroutine psi_iswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_i_base_vect_type) :: y class(psb_i_base_vect_type) :: y
integer(psb_ipk_) :: beta integer(psb_ipk_) :: beta
integer(psb_ipk_), target :: work(:) integer(psb_ipk_), target :: work(:)
@ -199,7 +203,8 @@ subroutine psi_iswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -413,7 +418,7 @@ subroutine psi_iswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_iswap_vidx_vect end subroutine psi_iswap_vidx_vect
@ -450,7 +455,9 @@ subroutine psi_iswapdata_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -527,8 +534,10 @@ subroutine psi_iswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_i_base_multivect_type) :: y class(psb_i_base_multivect_type) :: y
integer(psb_ipk_) :: beta integer(psb_ipk_) :: beta
integer(psb_ipk_), target :: work(:) integer(psb_ipk_), target :: work(:)
@ -536,7 +545,8 @@ subroutine psi_iswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -756,7 +766,7 @@ subroutine psi_iswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_iswap_vidx_multivect end subroutine psi_iswap_vidx_multivect

@ -115,7 +115,9 @@ subroutine psi_iswaptran_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -161,8 +163,6 @@ subroutine psi_iswaptran_vect(flag,beta,y,desc_a,work,info,data)
return return
end subroutine psi_iswaptran_vect end subroutine psi_iswaptran_vect
! !
! !
! Subroutine: psi_itran_vidx_vect ! Subroutine: psi_itran_vidx_vect
@ -193,7 +193,9 @@ subroutine psi_itran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_i_base_vect_type) :: y class(psb_i_base_vect_type) :: y
integer(psb_ipk_) :: beta integer(psb_ipk_) :: beta
@ -202,7 +204,8 @@ subroutine psi_itran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -422,7 +425,7 @@ subroutine psi_itran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -463,7 +466,9 @@ subroutine psi_iswaptran_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -540,7 +545,9 @@ subroutine psi_itran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_i_base_multivect_type) :: y class(psb_i_base_multivect_type) :: y
integer(psb_ipk_) :: beta integer(psb_ipk_) :: beta
@ -549,7 +556,8 @@ subroutine psi_itran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -773,7 +781,7 @@ subroutine psi_itran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -47,7 +47,8 @@ subroutine psi_lovrl_restr_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_lovrl_restr_vect' name='psi_lovrl_restr_vect'
@ -89,7 +90,8 @@ subroutine psi_lovrl_restr_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_lovrl_restr_mv' name='psi_lovrl_restr_mv'

@ -47,7 +47,8 @@ subroutine psi_lovrl_save_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'
@ -82,8 +83,6 @@ subroutine psi_lovrl_save_vect(x,xs,desc_a,info)
return return
end subroutine psi_lovrl_save_vect end subroutine psi_lovrl_save_vect
subroutine psi_lovrl_save_multivect(x,xs,desc_a,info) subroutine psi_lovrl_save_multivect(x,xs,desc_a,info)
use psi_mod, psi_protect_name => psi_lovrl_save_multivect use psi_mod, psi_protect_name => psi_lovrl_save_multivect
use psb_realloc_mod use psb_realloc_mod
@ -97,7 +96,8 @@ subroutine psi_lovrl_save_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'

@ -32,7 +32,7 @@
! Subroutine: psi_lovrl_update ! Subroutine: psi_lovrl_update
! These subroutines update the overlap region of a vector; they are used ! These subroutines update the overlap region of a vector; they are used
! for the transpose matrix-vector product when there is a nonempty overlap, ! for the transpose matrix-vector product when there is a nonempty overlap,
! or for the application of Additive Schwarz preconditioners. ! or for the application of Additive Schwarz preconditioners.
! !
! !
! !
@ -50,7 +50,8 @@ subroutine psi_lovrl_upd_vect(x,desc_a,update,info)
! locals ! locals
integer(psb_lpk_), allocatable :: xs(:) integer(psb_lpk_), allocatable :: xs(:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -131,7 +132,8 @@ subroutine psi_lovrl_upd_multivect(x,desc_a,update,info)
! locals ! locals
integer(psb_lpk_), allocatable :: xs(:,:) integer(psb_lpk_), allocatable :: xs(:,:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -113,7 +113,9 @@ subroutine psi_lswapdata_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -190,8 +192,10 @@ subroutine psi_lswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_l_base_vect_type) :: y class(psb_l_base_vect_type) :: y
integer(psb_lpk_) :: beta integer(psb_lpk_) :: beta
integer(psb_lpk_), target :: work(:) integer(psb_lpk_), target :: work(:)
@ -199,7 +203,8 @@ subroutine psi_lswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -413,7 +418,7 @@ subroutine psi_lswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_lswap_vidx_vect end subroutine psi_lswap_vidx_vect
@ -450,7 +455,9 @@ subroutine psi_lswapdata_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -527,8 +534,10 @@ subroutine psi_lswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_l_base_multivect_type) :: y class(psb_l_base_multivect_type) :: y
integer(psb_lpk_) :: beta integer(psb_lpk_) :: beta
integer(psb_lpk_), target :: work(:) integer(psb_lpk_), target :: work(:)
@ -536,7 +545,8 @@ subroutine psi_lswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -756,7 +766,7 @@ subroutine psi_lswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_lswap_vidx_multivect end subroutine psi_lswap_vidx_multivect

@ -115,7 +115,9 @@ subroutine psi_lswaptran_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -161,8 +163,6 @@ subroutine psi_lswaptran_vect(flag,beta,y,desc_a,work,info,data)
return return
end subroutine psi_lswaptran_vect end subroutine psi_lswaptran_vect
! !
! !
! Subroutine: psi_ltran_vidx_vect ! Subroutine: psi_ltran_vidx_vect
@ -193,7 +193,9 @@ subroutine psi_ltran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_l_base_vect_type) :: y class(psb_l_base_vect_type) :: y
integer(psb_lpk_) :: beta integer(psb_lpk_) :: beta
@ -202,7 +204,8 @@ subroutine psi_ltran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -422,7 +425,7 @@ subroutine psi_ltran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -463,7 +466,9 @@ subroutine psi_lswaptran_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -540,7 +545,9 @@ subroutine psi_ltran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_l_base_multivect_type) :: y class(psb_l_base_multivect_type) :: y
integer(psb_lpk_) :: beta integer(psb_lpk_) :: beta
@ -549,7 +556,8 @@ subroutine psi_ltran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -773,7 +781,7 @@ subroutine psi_ltran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -45,7 +45,8 @@ subroutine psi_movrl_restrr1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_movrl_restrr1' name='psi_movrl_restrr1'
@ -88,7 +89,8 @@ subroutine psi_movrl_restrr2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_movrl_restrr2' name='psi_movrl_restrr2'

@ -47,7 +47,8 @@ subroutine psi_movrl_saver1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_movrl_saver1' name='psi_movrl_saver1'
@ -99,7 +100,8 @@ subroutine psi_movrl_saver2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_movrl_saver2' name='psi_movrl_saver2'

@ -46,7 +46,8 @@ subroutine psi_movrl_updr1(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -103,7 +104,6 @@ subroutine psi_movrl_updr1(x,desc_a,update,info)
return return
end subroutine psi_movrl_updr1 end subroutine psi_movrl_updr1
subroutine psi_movrl_updr2(x,desc_a,update,info) subroutine psi_movrl_updr2(x,desc_a,update,info)
use psi_mod, psi_protect_name => psi_movrl_updr2 use psi_mod, psi_protect_name => psi_movrl_updr2
@ -115,7 +115,8 @@ subroutine psi_movrl_updr2(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -106,7 +106,9 @@ subroutine psi_mswapdatam(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -152,7 +154,7 @@ subroutine psi_mswapdatam(flag,n,beta,y,desc_a,work,info,data)
return return
end subroutine psi_mswapdatam end subroutine psi_mswapdatam
subroutine psi_mswapidxm(iictxt,iicomm,flag,n,beta,y,idx, & subroutine psi_mswapidxm(ictxt,icomm,flag,n,beta,y,idx, &
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_mswapidxm use psi_mod, psb_protect_name => psi_mswapidxm
@ -167,14 +169,17 @@ subroutine psi_mswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: ictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_), target :: work(:) integer(psb_mpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,&
integer(psb_mpk_) :: np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -192,8 +197,6 @@ subroutine psi_mswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
info=psb_success_ info=psb_success_
name='psi_swap_data' name='psi_swap_data'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
ictxt = iictxt
icomm = iicomm
call psb_info(ictxt,me,np) call psb_info(ictxt,me,np)
if (np == -1) then if (np == -1) then
@ -498,7 +501,7 @@ subroutine psi_mswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_mswapidxm end subroutine psi_mswapidxm
@ -579,7 +582,9 @@ subroutine psi_mswapdatav(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -651,14 +656,17 @@ subroutine psi_mswapidxv(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:), beta integer(psb_mpk_) :: y(:), beta
integer(psb_mpk_), target :: work(:) integer(psb_mpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -980,7 +988,7 @@ subroutine psi_mswapidxv(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_mswapidxv end subroutine psi_mswapidxv

@ -110,7 +110,9 @@ subroutine psi_mswaptranm(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, err_act, totxch, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -172,14 +174,17 @@ subroutine psi_mtranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:,:), beta integer(psb_mpk_) :: y(:,:), beta
integer(psb_mpk_), target :: work(:) integer(psb_mpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -508,7 +513,7 @@ subroutine psi_mtranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_mtranidxm end subroutine psi_mtranidxm
@ -592,7 +597,9 @@ subroutine psi_mswaptranv(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -664,14 +671,17 @@ subroutine psi_mtranidxv(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
integer(psb_mpk_) :: y(:), beta integer(psb_mpk_) :: y(:), beta
integer(psb_mpk_), target :: work(:) integer(psb_mpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -996,7 +1006,7 @@ subroutine psi_mtranidxv(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_mtranidxv end subroutine psi_mtranidxv

@ -47,7 +47,8 @@ subroutine psi_sovrl_restr_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_sovrl_restr_vect' name='psi_sovrl_restr_vect'
@ -89,7 +90,8 @@ subroutine psi_sovrl_restr_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_sovrl_restr_mv' name='psi_sovrl_restr_mv'

@ -45,7 +45,8 @@ subroutine psi_sovrl_restrr1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_sovrl_restrr1' name='psi_sovrl_restrr1'
@ -88,7 +89,8 @@ subroutine psi_sovrl_restrr2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_sovrl_restrr2' name='psi_sovrl_restrr2'

@ -47,7 +47,8 @@ subroutine psi_sovrl_save_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'
@ -82,8 +83,6 @@ subroutine psi_sovrl_save_vect(x,xs,desc_a,info)
return return
end subroutine psi_sovrl_save_vect end subroutine psi_sovrl_save_vect
subroutine psi_sovrl_save_multivect(x,xs,desc_a,info) subroutine psi_sovrl_save_multivect(x,xs,desc_a,info)
use psi_mod, psi_protect_name => psi_sovrl_save_multivect use psi_mod, psi_protect_name => psi_sovrl_save_multivect
use psb_realloc_mod use psb_realloc_mod
@ -97,7 +96,8 @@ subroutine psi_sovrl_save_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'

@ -47,7 +47,8 @@ subroutine psi_sovrl_saver1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_sovrl_saver1' name='psi_sovrl_saver1'
@ -99,7 +100,8 @@ subroutine psi_sovrl_saver2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_sovrl_saver2' name='psi_sovrl_saver2'

@ -32,7 +32,7 @@
! Subroutine: psi_sovrl_update ! Subroutine: psi_sovrl_update
! These subroutines update the overlap region of a vector; they are used ! These subroutines update the overlap region of a vector; they are used
! for the transpose matrix-vector product when there is a nonempty overlap, ! for the transpose matrix-vector product when there is a nonempty overlap,
! or for the application of Additive Schwarz preconditioners. ! or for the application of Additive Schwarz preconditioners.
! !
! !
! !
@ -50,7 +50,8 @@ subroutine psi_sovrl_upd_vect(x,desc_a,update,info)
! locals ! locals
real(psb_spk_), allocatable :: xs(:) real(psb_spk_), allocatable :: xs(:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -131,7 +132,8 @@ subroutine psi_sovrl_upd_multivect(x,desc_a,update,info)
! locals ! locals
real(psb_spk_), allocatable :: xs(:,:) real(psb_spk_), allocatable :: xs(:,:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -46,7 +46,8 @@ subroutine psi_sovrl_updr1(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -103,7 +104,6 @@ subroutine psi_sovrl_updr1(x,desc_a,update,info)
return return
end subroutine psi_sovrl_updr1 end subroutine psi_sovrl_updr1
subroutine psi_sovrl_updr2(x,desc_a,update,info) subroutine psi_sovrl_updr2(x,desc_a,update,info)
use psi_mod, psi_protect_name => psi_sovrl_updr2 use psi_mod, psi_protect_name => psi_sovrl_updr2
@ -115,7 +115,8 @@ subroutine psi_sovrl_updr2(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -113,7 +113,9 @@ subroutine psi_sswapdata_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -190,8 +192,10 @@ subroutine psi_sswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_s_base_vect_type) :: y class(psb_s_base_vect_type) :: y
real(psb_spk_) :: beta real(psb_spk_) :: beta
real(psb_spk_), target :: work(:) real(psb_spk_), target :: work(:)
@ -199,7 +203,8 @@ subroutine psi_sswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -413,7 +418,7 @@ subroutine psi_sswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_sswap_vidx_vect end subroutine psi_sswap_vidx_vect
@ -450,7 +455,9 @@ subroutine psi_sswapdata_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -527,8 +534,10 @@ subroutine psi_sswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_s_base_multivect_type) :: y class(psb_s_base_multivect_type) :: y
real(psb_spk_) :: beta real(psb_spk_) :: beta
real(psb_spk_), target :: work(:) real(psb_spk_), target :: work(:)
@ -536,7 +545,8 @@ subroutine psi_sswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -756,7 +766,7 @@ subroutine psi_sswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_sswap_vidx_multivect end subroutine psi_sswap_vidx_multivect

@ -106,7 +106,9 @@ subroutine psi_sswapdatam(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -152,7 +154,7 @@ subroutine psi_sswapdatam(flag,n,beta,y,desc_a,work,info,data)
return return
end subroutine psi_sswapdatam end subroutine psi_sswapdatam
subroutine psi_sswapidxm(iictxt,iicomm,flag,n,beta,y,idx, & subroutine psi_sswapidxm(ictxt,icomm,flag,n,beta,y,idx, &
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_sswapidxm use psi_mod, psb_protect_name => psi_sswapidxm
@ -167,14 +169,17 @@ subroutine psi_sswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: ictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta real(psb_spk_) :: y(:,:), beta
real(psb_spk_), target :: work(:) real(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,&
integer(psb_mpk_) :: np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -192,8 +197,6 @@ subroutine psi_sswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
info=psb_success_ info=psb_success_
name='psi_swap_data' name='psi_swap_data'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
ictxt = iictxt
icomm = iicomm
call psb_info(ictxt,me,np) call psb_info(ictxt,me,np)
if (np == -1) then if (np == -1) then
@ -498,7 +501,7 @@ subroutine psi_sswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_sswapidxm end subroutine psi_sswapidxm
@ -579,7 +582,9 @@ subroutine psi_sswapdatav(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -651,14 +656,17 @@ subroutine psi_sswapidxv(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:), beta real(psb_spk_) :: y(:), beta
real(psb_spk_), target :: work(:) real(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -980,7 +988,7 @@ subroutine psi_sswapidxv(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_sswapidxv end subroutine psi_sswapidxv

@ -115,7 +115,9 @@ subroutine psi_sswaptran_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -161,8 +163,6 @@ subroutine psi_sswaptran_vect(flag,beta,y,desc_a,work,info,data)
return return
end subroutine psi_sswaptran_vect end subroutine psi_sswaptran_vect
! !
! !
! Subroutine: psi_stran_vidx_vect ! Subroutine: psi_stran_vidx_vect
@ -193,7 +193,9 @@ subroutine psi_stran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_s_base_vect_type) :: y class(psb_s_base_vect_type) :: y
real(psb_spk_) :: beta real(psb_spk_) :: beta
@ -202,7 +204,8 @@ subroutine psi_stran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -422,7 +425,7 @@ subroutine psi_stran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -463,7 +466,9 @@ subroutine psi_sswaptran_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -540,7 +545,9 @@ subroutine psi_stran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_s_base_multivect_type) :: y class(psb_s_base_multivect_type) :: y
real(psb_spk_) :: beta real(psb_spk_) :: beta
@ -549,7 +556,8 @@ subroutine psi_stran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -773,7 +781,7 @@ subroutine psi_stran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -110,7 +110,9 @@ subroutine psi_sswaptranm(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, err_act, totxch, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -172,14 +174,17 @@ subroutine psi_stranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:,:), beta real(psb_spk_) :: y(:,:), beta
real(psb_spk_), target :: work(:) real(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -508,7 +513,7 @@ subroutine psi_stranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_stranidxm end subroutine psi_stranidxm
@ -592,7 +597,9 @@ subroutine psi_sswaptranv(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -664,14 +671,17 @@ subroutine psi_stranidxv(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
real(psb_spk_) :: y(:), beta real(psb_spk_) :: y(:), beta
real(psb_spk_), target :: work(:) real(psb_spk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -996,7 +1006,7 @@ subroutine psi_stranidxv(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_stranidxv end subroutine psi_stranidxv

@ -47,7 +47,8 @@ subroutine psi_zovrl_restr_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_zovrl_restr_vect' name='psi_zovrl_restr_vect'
@ -89,7 +90,8 @@ subroutine psi_zovrl_restr_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_zovrl_restr_mv' name='psi_zovrl_restr_mv'

@ -45,7 +45,8 @@ subroutine psi_zovrl_restrr1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_zovrl_restrr1' name='psi_zovrl_restrr1'
@ -88,7 +89,8 @@ subroutine psi_zovrl_restrr2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_zovrl_restrr2' name='psi_zovrl_restrr2'

@ -47,7 +47,8 @@ subroutine psi_zovrl_save_vect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'
@ -82,8 +83,6 @@ subroutine psi_zovrl_save_vect(x,xs,desc_a,info)
return return
end subroutine psi_zovrl_save_vect end subroutine psi_zovrl_save_vect
subroutine psi_zovrl_save_multivect(x,xs,desc_a,info) subroutine psi_zovrl_save_multivect(x,xs,desc_a,info)
use psi_mod, psi_protect_name => psi_zovrl_save_multivect use psi_mod, psi_protect_name => psi_zovrl_save_multivect
use psb_realloc_mod use psb_realloc_mod
@ -97,7 +96,8 @@ subroutine psi_zovrl_save_multivect(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_dovrl_saver1' name='psi_dovrl_saver1'

@ -47,7 +47,8 @@ subroutine psi_zovrl_saver1(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_zovrl_saver1' name='psi_zovrl_saver1'
@ -99,7 +100,8 @@ subroutine psi_zovrl_saver2(x,xs,desc_a,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, isz, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, isz, nc
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
name='psi_zovrl_saver2' name='psi_zovrl_saver2'

@ -32,7 +32,7 @@
! Subroutine: psi_zovrl_update ! Subroutine: psi_zovrl_update
! These subroutines update the overlap region of a vector; they are used ! These subroutines update the overlap region of a vector; they are used
! for the transpose matrix-vector product when there is a nonempty overlap, ! for the transpose matrix-vector product when there is a nonempty overlap,
! or for the application of Additive Schwarz preconditioners. ! or for the application of Additive Schwarz preconditioners.
! !
! !
! !
@ -50,7 +50,8 @@ subroutine psi_zovrl_upd_vect(x,desc_a,update,info)
! locals ! locals
complex(psb_dpk_), allocatable :: xs(:) complex(psb_dpk_), allocatable :: xs(:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -131,7 +132,8 @@ subroutine psi_zovrl_upd_multivect(x,desc_a,update,info)
! locals ! locals
complex(psb_dpk_), allocatable :: xs(:,:) complex(psb_dpk_), allocatable :: xs(:,:)
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm, nx, nc type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm, nx, nc
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -46,7 +46,8 @@ subroutine psi_zovrl_updr1(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err
@ -103,7 +104,6 @@ subroutine psi_zovrl_updr1(x,desc_a,update,info)
return return
end subroutine psi_zovrl_updr1 end subroutine psi_zovrl_updr1
subroutine psi_zovrl_updr2(x,desc_a,update,info) subroutine psi_zovrl_updr2(x,desc_a,update,info)
use psi_mod, psi_protect_name => psi_zovrl_updr2 use psi_mod, psi_protect_name => psi_zovrl_updr2
@ -115,7 +115,8 @@ subroutine psi_zovrl_updr2(x,desc_a,update,info)
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, i, idx, ndm type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, i, idx, ndm
integer(psb_ipk_) :: ierr(5) integer(psb_ipk_) :: ierr(5)
character(len=20) :: name, ch_err character(len=20) :: name, ch_err

@ -113,7 +113,9 @@ subroutine psi_zswapdata_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -190,8 +192,10 @@ subroutine psi_zswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_z_base_vect_type) :: y class(psb_z_base_vect_type) :: y
complex(psb_dpk_) :: beta complex(psb_dpk_) :: beta
complex(psb_dpk_), target :: work(:) complex(psb_dpk_), target :: work(:)
@ -199,7 +203,8 @@ subroutine psi_zswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -413,7 +418,7 @@ subroutine psi_zswap_vidx_vect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_zswap_vidx_vect end subroutine psi_zswap_vidx_vect
@ -450,7 +455,9 @@ subroutine psi_zswapdata_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -527,8 +534,10 @@ subroutine psi_zswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
class(psb_z_base_multivect_type) :: y class(psb_z_base_multivect_type) :: y
complex(psb_dpk_) :: beta complex(psb_dpk_) :: beta
complex(psb_dpk_), target :: work(:) complex(psb_dpk_), target :: work(:)
@ -536,7 +545,8 @@ subroutine psi_zswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -756,7 +766,7 @@ subroutine psi_zswap_vidx_multivect(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_zswap_vidx_multivect end subroutine psi_zswap_vidx_multivect

@ -106,7 +106,9 @@ subroutine psi_zswapdatam(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -152,7 +154,7 @@ subroutine psi_zswapdatam(flag,n,beta,y,desc_a,work,info,data)
return return
end subroutine psi_zswapdatam end subroutine psi_zswapdatam
subroutine psi_zswapidxm(iictxt,iicomm,flag,n,beta,y,idx, & subroutine psi_zswapidxm(ictxt,icomm,flag,n,beta,y,idx, &
& totxch,totsnd,totrcv,work,info) & totxch,totsnd,totrcv,work,info)
use psi_mod, psb_protect_name => psi_zswapidxm use psi_mod, psb_protect_name => psi_zswapidxm
@ -167,14 +169,17 @@ subroutine psi_zswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: ictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: icomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_), target :: work(:) complex(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,&
integer(psb_mpk_) :: np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -192,8 +197,6 @@ subroutine psi_zswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
info=psb_success_ info=psb_success_
name='psi_swap_data' name='psi_swap_data'
call psb_erractionsave(err_act) call psb_erractionsave(err_act)
ictxt = iictxt
icomm = iicomm
call psb_info(ictxt,me,np) call psb_info(ictxt,me,np)
if (np == -1) then if (np == -1) then
@ -498,7 +501,7 @@ subroutine psi_zswapidxm(iictxt,iicomm,flag,n,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_zswapidxm end subroutine psi_zswapidxm
@ -579,7 +582,9 @@ subroutine psi_zswapdatav(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, data_, err_act type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, data_, err_act
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -651,14 +656,17 @@ subroutine psi_zswapidxv(iictxt,iicomm,flag,beta,y,idx, &
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:), beta complex(psb_dpk_) :: y(:), beta
complex(psb_dpk_), target :: work(:) complex(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -980,7 +988,7 @@ subroutine psi_zswapidxv(iictxt,iicomm,flag,beta,y,idx, &
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_zswapidxv end subroutine psi_zswapidxv

@ -115,7 +115,9 @@ subroutine psi_zswaptran_vect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -161,8 +163,6 @@ subroutine psi_zswaptran_vect(flag,beta,y,desc_a,work,info,data)
return return
end subroutine psi_zswaptran_vect end subroutine psi_zswaptran_vect
! !
! !
! Subroutine: psi_ztran_vidx_vect ! Subroutine: psi_ztran_vidx_vect
@ -193,7 +193,9 @@ subroutine psi_ztran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_z_base_vect_type) :: y class(psb_z_base_vect_type) :: y
complex(psb_dpk_) :: beta complex(psb_dpk_) :: beta
@ -202,7 +204,8 @@ subroutine psi_ztran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -422,7 +425,7 @@ subroutine psi_ztran_vidx_vect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -463,7 +466,9 @@ subroutine psi_zswaptran_multivect(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
class(psb_i_base_vect_type), pointer :: d_vidx class(psb_i_base_vect_type), pointer :: d_vidx
character(len=20) :: name character(len=20) :: name
@ -540,7 +545,9 @@ subroutine psi_ztran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
class(psb_z_base_multivect_type) :: y class(psb_z_base_multivect_type) :: y
complex(psb_dpk_) :: beta complex(psb_dpk_) :: beta
@ -549,7 +556,8 @@ subroutine psi_ztran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable :: prcid(:) integer(psb_mpk_), allocatable :: prcid(:)
integer(psb_ipk_) :: nesd, nerv,& integer(psb_ipk_) :: nesd, nerv,&
@ -773,7 +781,7 @@ subroutine psi_ztran_vidx_multivect(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -110,7 +110,9 @@ subroutine psi_zswaptranm(flag,n,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, err_act, totxch, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, err_act, totxch, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -172,14 +174,17 @@ subroutine psi_ztranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag,n type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag,n
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:,:), beta complex(psb_dpk_) :: y(:,:), beta
complex(psb_dpk_), target :: work(:) complex(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -508,7 +513,7 @@ subroutine psi_ztranidxm(iictxt,iicomm,flag,n,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_ztranidxm end subroutine psi_ztranidxm
@ -592,7 +597,9 @@ subroutine psi_zswaptranv(flag,beta,y,desc_a,work,info,data)
integer(psb_ipk_), optional :: data integer(psb_ipk_), optional :: data
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, icomm, idxs, idxr, totxch, err_act, data_ type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm
integer(psb_ipk_) :: np, me, idxs, idxr, totxch, err_act, data_
integer(psb_ipk_), pointer :: d_idx(:) integer(psb_ipk_), pointer :: d_idx(:)
character(len=20) :: name character(len=20) :: name
@ -664,14 +671,17 @@ subroutine psi_ztranidxv(iictxt,iicomm,flag,beta,y,idx,&
include 'mpif.h' include 'mpif.h'
#endif #endif
integer(psb_ipk_), intent(in) :: iictxt,iicomm,flag type(psb_ctxt_type), intent(in) :: iictxt
integer(psb_ipk_), intent(out) :: info integer(psb_mpk_), intent(in) :: iicomm
integer(psb_ipk_), intent(in) :: flag
integer(psb_ipk_), intent(out) :: info
complex(psb_dpk_) :: y(:), beta complex(psb_dpk_) :: y(:), beta
complex(psb_dpk_), target :: work(:) complex(psb_dpk_), target :: work(:)
integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv integer(psb_ipk_), intent(in) :: idx(:),totxch,totsnd, totrcv
! locals ! locals
integer(psb_mpk_) :: ictxt, icomm, np, me,& type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: icomm, np, me,&
& proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret & proc_to_comm, p2ptag, p2pstat(mpi_status_size), iret
integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,& integer(psb_mpk_), allocatable, dimension(:) :: bsdidx, brvidx,&
& sdsz, rvsz, prcid, rvhd, sdhd & sdsz, rvsz, prcid, rvhd, sdhd
@ -996,7 +1006,7 @@ subroutine psi_ztranidxv(iictxt,iicomm,flag,beta,y,idx,&
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(iictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psi_ztranidxv end subroutine psi_ztranidxv

@ -57,7 +57,8 @@ subroutine psb_cgather_vect(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i
integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx
complex(psb_spk_), allocatable :: llocx(:) complex(psb_spk_), allocatable :: llocx(:)
@ -153,7 +154,7 @@ subroutine psb_cgather_vect(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -174,7 +175,8 @@ subroutine psb_cgather_multivect(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i
integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx
complex(psb_spk_), allocatable :: llocx(:,:) complex(psb_spk_), allocatable :: llocx(:,:)
@ -269,7 +271,7 @@ subroutine psb_cgather_multivect(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -57,12 +57,12 @@ subroutine psb_cgatherm(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,& integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,&
& maxk, k, jlx, ilx, i, j & maxk, k, jlx, ilx, i, j
integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx
character(len=20) :: name, ch_err
character(len=20) :: name, ch_err
name='psb_cgatherm' name='psb_cgatherm'
info=psb_success_ info=psb_success_
@ -162,7 +162,7 @@ subroutine psb_cgatherm(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -231,7 +231,8 @@ subroutine psb_cgatherv(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,& integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,&
& maxk, k, jlx, ilx, i, j & maxk, k, jlx, ilx, i, j
integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx
@ -327,7 +328,7 @@ subroutine psb_cgatherv(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -65,7 +65,8 @@ subroutine psb_chalo_vect(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, &
& nrow, ncol, lldx, imode, liwork,data_ & nrow, ncol, lldx, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_spk_),pointer :: iwork(:) complex(psb_spk_),pointer :: iwork(:)
@ -179,7 +180,7 @@ subroutine psb_chalo_vect(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_chalo_vect end subroutine psb_chalo_vect
@ -219,7 +220,8 @@ subroutine psb_chalo_multivect(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, &
& nrow, ncol, lldx, imode, liwork,data_ & nrow, ncol, lldx, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_spk_),pointer :: iwork(:) complex(psb_spk_),pointer :: iwork(:)
@ -334,7 +336,7 @@ subroutine psb_chalo_multivect(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_chalo_multivect end subroutine psb_chalo_multivect

@ -65,7 +65,8 @@ subroutine psb_chalom(x,desc_a,info,jx,ik,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,& integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
& liwork,data_, ldx & liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
@ -192,7 +193,7 @@ subroutine psb_chalom(x,desc_a,info,jx,ik,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_chalom end subroutine psb_chalom
@ -266,7 +267,8 @@ subroutine psb_chalov(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, ldx, iix, jjx, nrow, imode, liwork,data_ integer(psb_ipk_) :: err_act, ldx, iix, jjx, nrow, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_spk_),pointer :: iwork(:) complex(psb_spk_),pointer :: iwork(:)
@ -373,7 +375,7 @@ subroutine psb_chalov(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_chalov end subroutine psb_chalov

@ -75,7 +75,8 @@ subroutine psb_covrl_vect(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, k, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, k, iix, jjx, &
& nrow, ncol, ldx, liwork, data_, update_, mode_ & nrow, ncol, ldx, liwork, data_, update_, mode_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_spk_),pointer :: iwork(:) complex(psb_spk_),pointer :: iwork(:)
@ -175,7 +176,7 @@ subroutine psb_covrl_vect(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_covrl_vect end subroutine psb_covrl_vect
@ -224,7 +225,8 @@ subroutine psb_covrl_multivect(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, k, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, k, iix, jjx, &
& nrow, ncol, ldx, liwork, data_, update_, mode_ & nrow, ncol, ldx, liwork, data_, update_, mode_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_spk_),pointer :: iwork(:) complex(psb_spk_),pointer :: iwork(:)
@ -326,7 +328,7 @@ subroutine psb_covrl_multivect(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_covrl_multivect end subroutine psb_covrl_multivect

@ -76,7 +76,8 @@ subroutine psb_covrlm(x,desc_a,info,jx,ik,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,& integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
& mode_, liwork, ldx & mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
@ -187,7 +188,7 @@ subroutine psb_covrlm(x,desc_a,info,jx,ik,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_covrlm end subroutine psb_covrlm
@ -265,7 +266,8 @@ subroutine psb_covrlv(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, nrow, ncol, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, nrow, ncol, &
& k, update_, mode_, liwork, ldx & k, update_, mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
complex(psb_spk_),pointer :: iwork(:) complex(psb_spk_),pointer :: iwork(:)
@ -368,7 +370,7 @@ subroutine psb_covrlv(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_covrlv end subroutine psb_covrlv

@ -54,7 +54,8 @@ subroutine psb_cscatter_vect(globx, locx, desc_a, info, root, mold)
class(psb_c_base_vect_type), intent(in), optional :: mold class(psb_c_base_vect_type), intent(in), optional :: mold
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, m, n, i, j, idx, nrow, iglobx, jglobx,& integer(psb_ipk_) :: ierr(5), err_act, m, n, i, j, idx, nrow, iglobx, jglobx,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx & ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
complex(psb_spk_), allocatable :: vlocx(:) complex(psb_spk_), allocatable :: vlocx(:)
@ -92,7 +93,7 @@ subroutine psb_cscatter_vect(globx, locx, desc_a, info, root, mold)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -62,7 +62,8 @@ subroutine psb_cscatterm(globx, locx, desc_a, info, root)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, iroot, icomm, myrank, rootrank, iam, nlr type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_ipk_) :: ierr(5), err_act, nrow,& integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, & & ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos & col,pos
@ -235,7 +236,7 @@ subroutine psb_cscatterm(globx, locx, desc_a, info, root)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -306,7 +307,8 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_ipk_) :: ierr(5), err_act, nrow,& integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx & ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -472,7 +474,7 @@ subroutine psb_cscatterv(globx, locx, desc_a, info, root)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -67,7 +67,8 @@ subroutine psb_csp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep
integer(psb_ipk_) :: err_act, dupl_ integer(psb_ipk_) :: err_act, dupl_
integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k
logical :: keepnum_, keeploc_ logical :: keepnum_, keeploc_
integer(psb_mpk_) :: ictxt,np,me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_mpk_) :: icomm, minfo, ndx, root_ integer(psb_mpk_) :: icomm, minfo, ndx, root_
integer(psb_mpk_), allocatable :: nzbr(:), idisp(:) integer(psb_mpk_), allocatable :: nzbr(:), idisp(:)
integer(psb_lpk_), allocatable :: locia(:), locja(:), glbia(:), glbja(:) integer(psb_lpk_), allocatable :: locia(:), locja(:), glbia(:), glbja(:)
@ -216,7 +217,7 @@ subroutine psb_csp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep
9999 continue 9999 continue
call psb_errpush(info,name) call psb_errpush(info,name)
call psb_error_handler(ione*ictxt,err_act) call psb_error_handler(ictxt,err_act)
return return
@ -249,7 +250,8 @@ subroutine psb_lcsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,kee
integer(psb_ipk_) :: err_act, dupl_ integer(psb_ipk_) :: err_act, dupl_
integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl
logical :: keepnum_, keeploc_ logical :: keepnum_, keeploc_
integer(psb_mpk_) :: ictxt,np,me type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: icomm, minfo, ndx, root_ integer(psb_mpk_) :: icomm, minfo, ndx, root_
integer(psb_mpk_), allocatable :: nzbr(:), idisp(:) integer(psb_mpk_), allocatable :: nzbr(:), idisp(:)
integer(psb_lpk_), allocatable :: lnzbr(:) integer(psb_lpk_), allocatable :: lnzbr(:)
@ -388,7 +390,7 @@ subroutine psb_lcsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,kee
9999 continue 9999 continue
call psb_errpush(info,name) call psb_errpush(info,name)
call psb_error_handler(ione*ictxt,err_act) call psb_error_handler(ictxt,err_act)
return return
@ -420,7 +422,8 @@ subroutine psb_lclcsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,k
integer(psb_ipk_) :: err_act, dupl_ integer(psb_ipk_) :: err_act, dupl_
integer(psb_lpk_) :: ip,naggrm1,naggrp1, i, j, k, nzl integer(psb_lpk_) :: ip,naggrm1,naggrp1, i, j, k, nzl
logical :: keepnum_, keeploc_ logical :: keepnum_, keeploc_
integer(psb_mpk_) :: ictxt,np,me type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: icomm, minfo, ndx, root_ integer(psb_mpk_) :: icomm, minfo, ndx, root_
integer(psb_mpk_), allocatable :: nzbr(:), idisp(:) integer(psb_mpk_), allocatable :: nzbr(:), idisp(:)
integer(psb_lpk_), allocatable :: lnzbr(:) integer(psb_lpk_), allocatable :: lnzbr(:)
@ -554,7 +557,7 @@ subroutine psb_lclcsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,k
9999 continue 9999 continue
call psb_errpush(info,name) call psb_errpush(info,name)
call psb_error_handler(ione*ictxt,err_act) call psb_error_handler(ictxt,err_act)
return return

@ -57,7 +57,8 @@ subroutine psb_dgather_vect(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i
integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx
real(psb_dpk_), allocatable :: llocx(:) real(psb_dpk_), allocatable :: llocx(:)
@ -153,7 +154,7 @@ subroutine psb_dgather_vect(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -174,7 +175,8 @@ subroutine psb_dgather_multivect(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i
integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx
real(psb_dpk_), allocatable :: llocx(:,:) real(psb_dpk_), allocatable :: llocx(:,:)
@ -269,7 +271,7 @@ subroutine psb_dgather_multivect(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -57,12 +57,12 @@ subroutine psb_dgatherm(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,& integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,&
& maxk, k, jlx, ilx, i, j & maxk, k, jlx, ilx, i, j
integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx
character(len=20) :: name, ch_err
character(len=20) :: name, ch_err
name='psb_dgatherm' name='psb_dgatherm'
info=psb_success_ info=psb_success_
@ -162,7 +162,7 @@ subroutine psb_dgatherm(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -231,7 +231,8 @@ subroutine psb_dgatherv(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,& integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,&
& maxk, k, jlx, ilx, i, j & maxk, k, jlx, ilx, i, j
integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx
@ -327,7 +328,7 @@ subroutine psb_dgatherv(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -65,7 +65,8 @@ subroutine psb_dhalo_vect(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, &
& nrow, ncol, lldx, imode, liwork,data_ & nrow, ncol, lldx, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
real(psb_dpk_),pointer :: iwork(:) real(psb_dpk_),pointer :: iwork(:)
@ -179,7 +180,7 @@ subroutine psb_dhalo_vect(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_dhalo_vect end subroutine psb_dhalo_vect
@ -219,7 +220,8 @@ subroutine psb_dhalo_multivect(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, &
& nrow, ncol, lldx, imode, liwork,data_ & nrow, ncol, lldx, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
real(psb_dpk_),pointer :: iwork(:) real(psb_dpk_),pointer :: iwork(:)
@ -334,7 +336,7 @@ subroutine psb_dhalo_multivect(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_dhalo_multivect end subroutine psb_dhalo_multivect

@ -65,7 +65,8 @@ subroutine psb_dhalom(x,desc_a,info,jx,ik,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,& integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
& liwork,data_, ldx & liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
@ -192,7 +193,7 @@ subroutine psb_dhalom(x,desc_a,info,jx,ik,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_dhalom end subroutine psb_dhalom
@ -266,7 +267,8 @@ subroutine psb_dhalov(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, ldx, iix, jjx, nrow, imode, liwork,data_ integer(psb_ipk_) :: err_act, ldx, iix, jjx, nrow, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
real(psb_dpk_),pointer :: iwork(:) real(psb_dpk_),pointer :: iwork(:)
@ -373,7 +375,7 @@ subroutine psb_dhalov(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_dhalov end subroutine psb_dhalov

@ -75,7 +75,8 @@ subroutine psb_dovrl_vect(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, k, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, k, iix, jjx, &
& nrow, ncol, ldx, liwork, data_, update_, mode_ & nrow, ncol, ldx, liwork, data_, update_, mode_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
real(psb_dpk_),pointer :: iwork(:) real(psb_dpk_),pointer :: iwork(:)
@ -175,7 +176,7 @@ subroutine psb_dovrl_vect(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_dovrl_vect end subroutine psb_dovrl_vect
@ -224,7 +225,8 @@ subroutine psb_dovrl_multivect(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, k, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, k, iix, jjx, &
& nrow, ncol, ldx, liwork, data_, update_, mode_ & nrow, ncol, ldx, liwork, data_, update_, mode_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
real(psb_dpk_),pointer :: iwork(:) real(psb_dpk_),pointer :: iwork(:)
@ -326,7 +328,7 @@ subroutine psb_dovrl_multivect(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_dovrl_multivect end subroutine psb_dovrl_multivect

@ -76,7 +76,8 @@ subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,& integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
& mode_, liwork, ldx & mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
@ -187,7 +188,7 @@ subroutine psb_dovrlm(x,desc_a,info,jx,ik,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_dovrlm end subroutine psb_dovrlm
@ -265,7 +266,8 @@ subroutine psb_dovrlv(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, nrow, ncol, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, nrow, ncol, &
& k, update_, mode_, liwork, ldx & k, update_, mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
real(psb_dpk_),pointer :: iwork(:) real(psb_dpk_),pointer :: iwork(:)
@ -368,7 +370,7 @@ subroutine psb_dovrlv(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_dovrlv end subroutine psb_dovrlv

@ -54,7 +54,8 @@ subroutine psb_dscatter_vect(globx, locx, desc_a, info, root, mold)
class(psb_d_base_vect_type), intent(in), optional :: mold class(psb_d_base_vect_type), intent(in), optional :: mold
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, m, n, i, j, idx, nrow, iglobx, jglobx,& integer(psb_ipk_) :: ierr(5), err_act, m, n, i, j, idx, nrow, iglobx, jglobx,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx & ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
real(psb_dpk_), allocatable :: vlocx(:) real(psb_dpk_), allocatable :: vlocx(:)
@ -92,7 +93,7 @@ subroutine psb_dscatter_vect(globx, locx, desc_a, info, root, mold)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -62,7 +62,8 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, root)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, iroot, icomm, myrank, rootrank, iam, nlr type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_ipk_) :: ierr(5), err_act, nrow,& integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, & & ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos & col,pos
@ -235,7 +236,7 @@ subroutine psb_dscatterm(globx, locx, desc_a, info, root)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -306,7 +307,8 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_ipk_) :: ierr(5), err_act, nrow,& integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx & ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -472,7 +474,7 @@ subroutine psb_dscatterv(globx, locx, desc_a, info, root)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -67,7 +67,8 @@ subroutine psb_dsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep
integer(psb_ipk_) :: err_act, dupl_ integer(psb_ipk_) :: err_act, dupl_
integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k
logical :: keepnum_, keeploc_ logical :: keepnum_, keeploc_
integer(psb_mpk_) :: ictxt,np,me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_mpk_) :: icomm, minfo, ndx, root_ integer(psb_mpk_) :: icomm, minfo, ndx, root_
integer(psb_mpk_), allocatable :: nzbr(:), idisp(:) integer(psb_mpk_), allocatable :: nzbr(:), idisp(:)
integer(psb_lpk_), allocatable :: locia(:), locja(:), glbia(:), glbja(:) integer(psb_lpk_), allocatable :: locia(:), locja(:), glbia(:), glbja(:)
@ -216,7 +217,7 @@ subroutine psb_dsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep
9999 continue 9999 continue
call psb_errpush(info,name) call psb_errpush(info,name)
call psb_error_handler(ione*ictxt,err_act) call psb_error_handler(ictxt,err_act)
return return
@ -249,7 +250,8 @@ subroutine psb_ldsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,kee
integer(psb_ipk_) :: err_act, dupl_ integer(psb_ipk_) :: err_act, dupl_
integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl
logical :: keepnum_, keeploc_ logical :: keepnum_, keeploc_
integer(psb_mpk_) :: ictxt,np,me type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: icomm, minfo, ndx, root_ integer(psb_mpk_) :: icomm, minfo, ndx, root_
integer(psb_mpk_), allocatable :: nzbr(:), idisp(:) integer(psb_mpk_), allocatable :: nzbr(:), idisp(:)
integer(psb_lpk_), allocatable :: lnzbr(:) integer(psb_lpk_), allocatable :: lnzbr(:)
@ -388,7 +390,7 @@ subroutine psb_ldsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,kee
9999 continue 9999 continue
call psb_errpush(info,name) call psb_errpush(info,name)
call psb_error_handler(ione*ictxt,err_act) call psb_error_handler(ictxt,err_act)
return return
@ -420,7 +422,8 @@ subroutine psb_ldldsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,k
integer(psb_ipk_) :: err_act, dupl_ integer(psb_ipk_) :: err_act, dupl_
integer(psb_lpk_) :: ip,naggrm1,naggrp1, i, j, k, nzl integer(psb_lpk_) :: ip,naggrm1,naggrp1, i, j, k, nzl
logical :: keepnum_, keeploc_ logical :: keepnum_, keeploc_
integer(psb_mpk_) :: ictxt,np,me type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: icomm, minfo, ndx, root_ integer(psb_mpk_) :: icomm, minfo, ndx, root_
integer(psb_mpk_), allocatable :: nzbr(:), idisp(:) integer(psb_mpk_), allocatable :: nzbr(:), idisp(:)
integer(psb_lpk_), allocatable :: lnzbr(:) integer(psb_lpk_), allocatable :: lnzbr(:)
@ -554,7 +557,7 @@ subroutine psb_ldldsp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,k
9999 continue 9999 continue
call psb_errpush(info,name) call psb_errpush(info,name)
call psb_error_handler(ione*ictxt,err_act) call psb_error_handler(ictxt,err_act)
return return

@ -57,12 +57,12 @@ subroutine psb_egatherm(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,& integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,&
& maxk, k, jlx, ilx, i, j & maxk, k, jlx, ilx, i, j
integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx
character(len=20) :: name, ch_err
character(len=20) :: name, ch_err
name='psb_egatherm' name='psb_egatherm'
info=psb_success_ info=psb_success_
@ -162,7 +162,7 @@ subroutine psb_egatherm(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -231,7 +231,8 @@ subroutine psb_egatherv(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,& integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,&
& maxk, k, jlx, ilx, i, j & maxk, k, jlx, ilx, i, j
integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx
@ -327,7 +328,7 @@ subroutine psb_egatherv(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -65,7 +65,8 @@ subroutine psb_ehalom(x,desc_a,info,jx,ik,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,& integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
& liwork,data_, ldx & liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
@ -192,7 +193,7 @@ subroutine psb_ehalom(x,desc_a,info,jx,ik,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_ehalom end subroutine psb_ehalom
@ -266,7 +267,8 @@ subroutine psb_ehalov(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, ldx, iix, jjx, nrow, imode, liwork,data_ integer(psb_ipk_) :: err_act, ldx, iix, jjx, nrow, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_epk_),pointer :: iwork(:) integer(psb_epk_),pointer :: iwork(:)
@ -373,7 +375,7 @@ subroutine psb_ehalov(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_ehalov end subroutine psb_ehalov

@ -76,7 +76,8 @@ subroutine psb_eovrlm(x,desc_a,info,jx,ik,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,& integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
& mode_, liwork, ldx & mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
@ -187,7 +188,7 @@ subroutine psb_eovrlm(x,desc_a,info,jx,ik,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_eovrlm end subroutine psb_eovrlm
@ -265,7 +266,8 @@ subroutine psb_eovrlv(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, nrow, ncol, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, nrow, ncol, &
& k, update_, mode_, liwork, ldx & k, update_, mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_epk_),pointer :: iwork(:) integer(psb_epk_),pointer :: iwork(:)
@ -368,7 +370,7 @@ subroutine psb_eovrlv(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_eovrlv end subroutine psb_eovrlv

@ -62,7 +62,8 @@ subroutine psb_escatterm(globx, locx, desc_a, info, root)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, iroot, icomm, myrank, rootrank, iam, nlr type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_ipk_) :: ierr(5), err_act, nrow,& integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, & & ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos & col,pos
@ -235,7 +236,7 @@ subroutine psb_escatterm(globx, locx, desc_a, info, root)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -306,7 +307,8 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_ipk_) :: ierr(5), err_act, nrow,& integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx & ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -472,7 +474,7 @@ subroutine psb_escatterv(globx, locx, desc_a, info, root)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -57,12 +57,12 @@ subroutine psb_i2gatherm(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,& integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,&
& maxk, k, jlx, ilx, i, j & maxk, k, jlx, ilx, i, j
integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx
character(len=20) :: name, ch_err
character(len=20) :: name, ch_err
name='psb_i2gatherm' name='psb_i2gatherm'
info=psb_success_ info=psb_success_
@ -162,7 +162,7 @@ subroutine psb_i2gatherm(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -231,7 +231,8 @@ subroutine psb_i2gatherv(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,& integer(psb_ipk_) :: ierr(5), err_act, lda_locx, lda_globx, lock, globk,&
& maxk, k, jlx, ilx, i, j & maxk, k, jlx, ilx, i, j
integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, ilocx, jlocx, idx, iglobx, jglobx
@ -327,7 +328,7 @@ subroutine psb_i2gatherv(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -65,7 +65,8 @@ subroutine psb_i2halom(x,desc_a,info,jx,ik,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,& integer(psb_ipk_) :: err_act, iix, jjx, k, maxk, nrow, imode, i,&
& liwork,data_, ldx & liwork,data_, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
@ -192,7 +193,7 @@ subroutine psb_i2halom(x,desc_a,info,jx,ik,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_i2halom end subroutine psb_i2halom
@ -266,7 +267,8 @@ subroutine psb_i2halov(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, ldx, iix, jjx, nrow, imode, liwork,data_ integer(psb_ipk_) :: err_act, ldx, iix, jjx, nrow, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_i2pk_),pointer :: iwork(:) integer(psb_i2pk_),pointer :: iwork(:)
@ -373,7 +375,7 @@ subroutine psb_i2halov(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_i2halov end subroutine psb_i2halov

@ -76,7 +76,8 @@ subroutine psb_i2ovrlm(x,desc_a,info,jx,ik,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode integer(psb_ipk_), intent(in), optional :: update,jx,ik,mode
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,& integer(psb_ipk_) :: err_act, iix, jjx, nrow, ncol, k, maxk, update_,&
& mode_, liwork, ldx & mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
@ -187,7 +188,7 @@ subroutine psb_i2ovrlm(x,desc_a,info,jx,ik,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_i2ovrlm end subroutine psb_i2ovrlm
@ -265,7 +266,8 @@ subroutine psb_i2ovrlv(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, nrow, ncol, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, nrow, ncol, &
& k, update_, mode_, liwork, ldx & k, update_, mode_, liwork, ldx
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_i2pk_),pointer :: iwork(:) integer(psb_i2pk_),pointer :: iwork(:)
@ -368,7 +370,7 @@ subroutine psb_i2ovrlv(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_i2ovrlv end subroutine psb_i2ovrlv

@ -62,7 +62,8 @@ subroutine psb_i2scatterm(globx, locx, desc_a, info, root)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, iroot, icomm, myrank, rootrank, iam, nlr type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, iroot, icomm, myrank, rootrank, iam, nlr
integer(psb_ipk_) :: ierr(5), err_act, nrow,& integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, & & ilocx, jlocx, lda_locx, lda_globx, lock, globk, k, maxk, &
& col,pos & col,pos
@ -235,7 +236,7 @@ subroutine psb_i2scatterm(globx, locx, desc_a, info, root)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -306,7 +307,8 @@ subroutine psb_i2scatterv(globx, locx, desc_a, info, root)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, iam, iroot, iiroot, icomm, myrank, rootrank, nlr
integer(psb_ipk_) :: ierr(5), err_act, nrow,& integer(psb_ipk_) :: ierr(5), err_act, nrow,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx & ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, i, j, idx, iglobx, jglobx
@ -472,7 +474,7 @@ subroutine psb_i2scatterv(globx, locx, desc_a, info, root)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -57,7 +57,8 @@ subroutine psb_igather_vect(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i
integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx
integer(psb_ipk_), allocatable :: llocx(:) integer(psb_ipk_), allocatable :: llocx(:)
@ -153,7 +154,7 @@ subroutine psb_igather_vect(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -174,7 +175,8 @@ subroutine psb_igather_multivect(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i
integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx
integer(psb_ipk_), allocatable :: llocx(:,:) integer(psb_ipk_), allocatable :: llocx(:,:)
@ -269,7 +271,7 @@ subroutine psb_igather_multivect(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -65,7 +65,8 @@ subroutine psb_ihalo_vect(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, &
& nrow, ncol, lldx, imode, liwork,data_ & nrow, ncol, lldx, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_ipk_),pointer :: iwork(:) integer(psb_ipk_),pointer :: iwork(:)
@ -179,7 +180,7 @@ subroutine psb_ihalo_vect(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_ihalo_vect end subroutine psb_ihalo_vect
@ -219,7 +220,8 @@ subroutine psb_ihalo_multivect(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, &
& nrow, ncol, lldx, imode, liwork,data_ & nrow, ncol, lldx, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_ipk_),pointer :: iwork(:) integer(psb_ipk_),pointer :: iwork(:)
@ -334,7 +336,7 @@ subroutine psb_ihalo_multivect(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_ihalo_multivect end subroutine psb_ihalo_multivect

@ -75,7 +75,8 @@ subroutine psb_iovrl_vect(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, k, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, k, iix, jjx, &
& nrow, ncol, ldx, liwork, data_, update_, mode_ & nrow, ncol, ldx, liwork, data_, update_, mode_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_ipk_),pointer :: iwork(:) integer(psb_ipk_),pointer :: iwork(:)
@ -175,7 +176,7 @@ subroutine psb_iovrl_vect(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_iovrl_vect end subroutine psb_iovrl_vect
@ -224,7 +225,8 @@ subroutine psb_iovrl_multivect(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, k, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, k, iix, jjx, &
& nrow, ncol, ldx, liwork, data_, update_, mode_ & nrow, ncol, ldx, liwork, data_, update_, mode_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_ipk_),pointer :: iwork(:) integer(psb_ipk_),pointer :: iwork(:)
@ -326,7 +328,7 @@ subroutine psb_iovrl_multivect(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_iovrl_multivect end subroutine psb_iovrl_multivect

@ -54,7 +54,8 @@ subroutine psb_iscatter_vect(globx, locx, desc_a, info, root, mold)
class(psb_i_base_vect_type), intent(in), optional :: mold class(psb_i_base_vect_type), intent(in), optional :: mold
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, m, n, i, j, idx, nrow, iglobx, jglobx,& integer(psb_ipk_) :: ierr(5), err_act, m, n, i, j, idx, nrow, iglobx, jglobx,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx & ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_ipk_), allocatable :: vlocx(:) integer(psb_ipk_), allocatable :: vlocx(:)
@ -92,7 +93,7 @@ subroutine psb_iscatter_vect(globx, locx, desc_a, info, root, mold)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -67,7 +67,8 @@ subroutine psb_isp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep
integer(psb_ipk_) :: err_act, dupl_ integer(psb_ipk_) :: err_act, dupl_
integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k
logical :: keepnum_, keeploc_ logical :: keepnum_, keeploc_
integer(psb_mpk_) :: ictxt,np,me type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me
integer(psb_mpk_) :: icomm, minfo, ndx, root_ integer(psb_mpk_) :: icomm, minfo, ndx, root_
integer(psb_mpk_), allocatable :: nzbr(:), idisp(:) integer(psb_mpk_), allocatable :: nzbr(:), idisp(:)
integer(psb_lpk_), allocatable :: locia(:), locja(:), glbia(:), glbja(:) integer(psb_lpk_), allocatable :: locia(:), locja(:), glbia(:), glbja(:)
@ -216,7 +217,7 @@ subroutine psb_isp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,keep
9999 continue 9999 continue
call psb_errpush(info,name) call psb_errpush(info,name)
call psb_error_handler(ione*ictxt,err_act) call psb_error_handler(ictxt,err_act)
return return
@ -249,7 +250,8 @@ subroutine psb_@LX@sp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,k
integer(psb_ipk_) :: err_act, dupl_ integer(psb_ipk_) :: err_act, dupl_
integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl integer(psb_ipk_) :: ip,naggrm1,naggrp1, i, j, k, nzl
logical :: keepnum_, keeploc_ logical :: keepnum_, keeploc_
integer(psb_mpk_) :: ictxt,np,me type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: icomm, minfo, ndx, root_ integer(psb_mpk_) :: icomm, minfo, ndx, root_
integer(psb_mpk_), allocatable :: nzbr(:), idisp(:) integer(psb_mpk_), allocatable :: nzbr(:), idisp(:)
integer(psb_lpk_), allocatable :: lnzbr(:) integer(psb_lpk_), allocatable :: lnzbr(:)
@ -388,7 +390,7 @@ subroutine psb_@LX@sp_allgather(globa, loca, desc_a, info, root, dupl,keepnum,k
9999 continue 9999 continue
call psb_errpush(info,name) call psb_errpush(info,name)
call psb_error_handler(ione*ictxt,err_act) call psb_error_handler(ictxt,err_act)
return return
@ -420,7 +422,8 @@ subroutine psb_@LX@@LX@sp_allgather(globa, loca, desc_a, info, root, dupl,keepn
integer(psb_ipk_) :: err_act, dupl_ integer(psb_ipk_) :: err_act, dupl_
integer(psb_lpk_) :: ip,naggrm1,naggrp1, i, j, k, nzl integer(psb_lpk_) :: ip,naggrm1,naggrp1, i, j, k, nzl
logical :: keepnum_, keeploc_ logical :: keepnum_, keeploc_
integer(psb_mpk_) :: ictxt,np,me type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me
integer(psb_mpk_) :: icomm, minfo, ndx, root_ integer(psb_mpk_) :: icomm, minfo, ndx, root_
integer(psb_mpk_), allocatable :: nzbr(:), idisp(:) integer(psb_mpk_), allocatable :: nzbr(:), idisp(:)
integer(psb_lpk_), allocatable :: lnzbr(:) integer(psb_lpk_), allocatable :: lnzbr(:)
@ -554,7 +557,7 @@ subroutine psb_@LX@@LX@sp_allgather(globa, loca, desc_a, info, root, dupl,keepn
9999 continue 9999 continue
call psb_errpush(info,name) call psb_errpush(info,name)
call psb_error_handler(ione*ictxt,err_act) call psb_error_handler(ictxt,err_act)
return return

@ -57,7 +57,8 @@ subroutine psb_lgather_vect(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i
integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx
integer(psb_lpk_), allocatable :: llocx(:) integer(psb_lpk_), allocatable :: llocx(:)
@ -153,7 +154,7 @@ subroutine psb_lgather_vect(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
@ -174,7 +175,8 @@ subroutine psb_lgather_multivect(globx, locx, desc_a, info, iroot)
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, root, iiroot, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, root, iiroot, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i integer(psb_ipk_) :: ierr(5), err_act, jlx, ilx, lda_locx, lda_globx, i
integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx integer(psb_lpk_) :: m, n, k, ilocx, jlocx, idx, iglobx, jglobx
integer(psb_lpk_), allocatable :: llocx(:,:) integer(psb_lpk_), allocatable :: llocx(:,:)
@ -269,7 +271,7 @@ subroutine psb_lgather_multivect(globx, locx, desc_a, info, iroot)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

@ -65,7 +65,8 @@ subroutine psb_lhalo_vect(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, &
& nrow, ncol, lldx, imode, liwork,data_ & nrow, ncol, lldx, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_lpk_),pointer :: iwork(:) integer(psb_lpk_),pointer :: iwork(:)
@ -179,7 +180,7 @@ subroutine psb_lhalo_vect(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_lhalo_vect end subroutine psb_lhalo_vect
@ -219,7 +220,8 @@ subroutine psb_lhalo_multivect(x,desc_a,info,work,tran,mode,data)
character, intent(in), optional :: tran character, intent(in), optional :: tran
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, iix, jjx, &
& nrow, ncol, lldx, imode, liwork,data_ & nrow, ncol, lldx, imode, liwork,data_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_lpk_),pointer :: iwork(:) integer(psb_lpk_),pointer :: iwork(:)
@ -334,7 +336,7 @@ subroutine psb_lhalo_multivect(x,desc_a,info,work,tran,mode,data)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_lhalo_multivect end subroutine psb_lhalo_multivect

@ -75,7 +75,8 @@ subroutine psb_lovrl_vect(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, k, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, k, iix, jjx, &
& nrow, ncol, ldx, liwork, data_, update_, mode_ & nrow, ncol, ldx, liwork, data_, update_, mode_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_lpk_),pointer :: iwork(:) integer(psb_lpk_),pointer :: iwork(:)
@ -175,7 +176,7 @@ subroutine psb_lovrl_vect(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_lovrl_vect end subroutine psb_lovrl_vect
@ -224,7 +225,8 @@ subroutine psb_lovrl_multivect(x,desc_a,info,work,update,mode)
integer(psb_ipk_), intent(in), optional :: update,mode integer(psb_ipk_), intent(in), optional :: update,mode
! locals ! locals
integer(psb_ipk_) :: ictxt, np, me, err_act, k, iix, jjx, & type(psb_ctxt_type) :: ictxt
integer(psb_ipk_) :: np, me, err_act, k, iix, jjx, &
& nrow, ncol, ldx, liwork, data_, update_, mode_ & nrow, ncol, ldx, liwork, data_, update_, mode_
integer(psb_lpk_) :: m, n, ix, ijx integer(psb_lpk_) :: m, n, ix, ijx
integer(psb_lpk_),pointer :: iwork(:) integer(psb_lpk_),pointer :: iwork(:)
@ -326,7 +328,7 @@ subroutine psb_lovrl_multivect(x,desc_a,info,work,update,mode)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return
end subroutine psb_lovrl_multivect end subroutine psb_lovrl_multivect

@ -54,7 +54,8 @@ subroutine psb_lscatter_vect(globx, locx, desc_a, info, root, mold)
class(psb_l_base_vect_type), intent(in), optional :: mold class(psb_l_base_vect_type), intent(in), optional :: mold
! locals ! locals
integer(psb_mpk_) :: ictxt, np, me, icomm, myrank, rootrank type(psb_ctxt_type) :: ictxt
integer(psb_mpk_) :: np, me, icomm, myrank, rootrank
integer(psb_ipk_) :: ierr(5), err_act, m, n, i, j, idx, nrow, iglobx, jglobx,& integer(psb_ipk_) :: ierr(5), err_act, m, n, i, j, idx, nrow, iglobx, jglobx,&
& ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx & ilocx, jlocx, lda_locx, lda_globx, k, pos, ilx, jlx
integer(psb_lpk_), allocatable :: vlocx(:) integer(psb_lpk_), allocatable :: vlocx(:)
@ -92,7 +93,7 @@ subroutine psb_lscatter_vect(globx, locx, desc_a, info, root, mold)
call psb_erractionrestore(err_act) call psb_erractionrestore(err_act)
return return
9999 call psb_error_handler(ione*ictxt,err_act) 9999 call psb_error_handler(ictxt,err_act)
return return

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save