mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-19 20:32:12 +00:00
Fixes for CTXT usage, new GELP templated source.
This commit is contained in:
@@ -56,10 +56,10 @@ module psi_c_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_cswapdata_multivect
|
||||
subroutine psi_cswap_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_cswap_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -69,10 +69,10 @@ module psi_c_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_cswap_vidx_vect
|
||||
subroutine psi_cswap_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_cswap_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -106,10 +106,10 @@ module psi_c_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_cswaptran_multivect
|
||||
subroutine psi_ctran_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_ctran_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -119,10 +119,10 @@ module psi_c_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_ctran_vidx_vect
|
||||
subroutine psi_ctran_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_ctran_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -56,10 +56,10 @@ module psi_d_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_dswapdata_multivect
|
||||
subroutine psi_dswap_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_dswap_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -69,10 +69,10 @@ module psi_d_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_dswap_vidx_vect
|
||||
subroutine psi_dswap_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_dswap_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -106,10 +106,10 @@ module psi_d_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_dswaptran_multivect
|
||||
subroutine psi_dtran_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_dtran_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -119,10 +119,10 @@ module psi_d_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_dtran_vidx_vect
|
||||
subroutine psi_dtran_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_dtran_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -57,10 +57,10 @@ module psi_i_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_iswapdata_multivect
|
||||
subroutine psi_iswap_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_iswap_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -70,10 +70,10 @@ module psi_i_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_iswap_vidx_vect
|
||||
subroutine psi_iswap_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_iswap_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -107,10 +107,10 @@ module psi_i_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_iswaptran_multivect
|
||||
subroutine psi_itran_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_itran_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -120,10 +120,10 @@ module psi_i_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_itran_vidx_vect
|
||||
subroutine psi_itran_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_itran_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -58,10 +58,10 @@ module psi_l_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_lswapdata_multivect
|
||||
subroutine psi_lswap_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_lswap_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -71,10 +71,10 @@ module psi_l_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_lswap_vidx_vect
|
||||
subroutine psi_lswap_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_lswap_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -108,10 +108,10 @@ module psi_l_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_lswaptran_multivect
|
||||
subroutine psi_ltran_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_ltran_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -121,10 +121,10 @@ module psi_l_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_ltran_vidx_vect
|
||||
subroutine psi_ltran_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_ltran_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -56,10 +56,10 @@ module psi_s_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_sswapdata_multivect
|
||||
subroutine psi_sswap_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_sswap_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -69,10 +69,10 @@ module psi_s_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_sswap_vidx_vect
|
||||
subroutine psi_sswap_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_sswap_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -106,10 +106,10 @@ module psi_s_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_sswaptran_multivect
|
||||
subroutine psi_stran_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_stran_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -119,10 +119,10 @@ module psi_s_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_stran_vidx_vect
|
||||
subroutine psi_stran_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_stran_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -56,10 +56,10 @@ module psi_z_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_zswapdata_multivect
|
||||
subroutine psi_zswap_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_zswap_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -69,10 +69,10 @@ module psi_z_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_zswap_vidx_vect
|
||||
subroutine psi_zswap_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_zswap_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -106,10 +106,10 @@ module psi_z_comm_v_mod
|
||||
type(psb_desc_type), target :: desc_a
|
||||
integer(psb_ipk_), optional :: data
|
||||
end subroutine psi_zswaptran_multivect
|
||||
subroutine psi_ztran_vidx_vect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_ztran_vidx_vect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
@@ -119,10 +119,10 @@ module psi_z_comm_v_mod
|
||||
class(psb_i_base_vect_type), intent(inout) :: idx
|
||||
integer(psb_ipk_), intent(in) :: totxch,totsnd, totrcv
|
||||
end subroutine psi_ztran_vidx_vect
|
||||
subroutine psi_ztran_vidx_multivect(ictxt,iicomm,flag,beta,y,idx,&
|
||||
subroutine psi_ztran_vidx_multivect(ctxt,iicomm,flag,beta,y,idx,&
|
||||
& totxch,totsnd,totrcv,work,info)
|
||||
import
|
||||
type(psb_ctxt_type), intent(in) :: ictxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_mpk_), intent(in) :: iicomm
|
||||
integer(psb_ipk_), intent(in) :: flag
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
|
||||
@@ -110,13 +110,13 @@ module psi_i_mod
|
||||
end interface
|
||||
|
||||
interface psi_bld_glb_dep_list
|
||||
subroutine psi_i_bld_glb_csr_dep_list(ctxt,loc_dl,length_dl,c_dep_list,dl_ptr,info)
|
||||
subroutine psi_i_bld_glb_dep_list(ctxt,loc_dl,length_dl,c_dep_list,dl_ptr,info)
|
||||
import
|
||||
integer(psb_ipk_), intent(in) :: ctxt
|
||||
type(psb_ctxt_type), intent(in) :: ctxt
|
||||
integer(psb_ipk_), intent(in) :: loc_dl(:), length_dl(0:)
|
||||
integer(psb_ipk_), allocatable, intent(out) :: c_dep_list(:), dl_ptr(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psi_i_bld_glb_csr_dep_list
|
||||
end subroutine psi_i_bld_glb_dep_list
|
||||
end interface
|
||||
|
||||
interface psi_extract_loc_dl
|
||||
|
||||
@@ -431,5 +431,21 @@ Module psb_c_tools_mod
|
||||
end function
|
||||
end interface
|
||||
|
||||
interface psb_remap
|
||||
subroutine psb_c_remap(np_remap, desc_in, a_in, &
|
||||
& ipd, isrc, nrsrc, naggr, desc_out, a_out, info)
|
||||
import
|
||||
implicit none
|
||||
!....parameters...
|
||||
integer(psb_ipk_), intent(in) :: np_remap
|
||||
type(psb_desc_type), intent(inout) :: desc_in
|
||||
type(psb_cspmat_type), intent(inout) :: a_in
|
||||
type(psb_cspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:), naggr(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_c_remap
|
||||
end interface psb_remap
|
||||
|
||||
end module psb_c_tools_mod
|
||||
|
||||
@@ -431,5 +431,21 @@ Module psb_d_tools_mod
|
||||
end function
|
||||
end interface
|
||||
|
||||
interface psb_remap
|
||||
subroutine psb_d_remap(np_remap, desc_in, a_in, &
|
||||
& ipd, isrc, nrsrc, naggr, desc_out, a_out, info)
|
||||
import
|
||||
implicit none
|
||||
!....parameters...
|
||||
integer(psb_ipk_), intent(in) :: np_remap
|
||||
type(psb_desc_type), intent(inout) :: desc_in
|
||||
type(psb_dspmat_type), intent(inout) :: a_in
|
||||
type(psb_dspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:), naggr(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_d_remap
|
||||
end interface psb_remap
|
||||
|
||||
end module psb_d_tools_mod
|
||||
|
||||
@@ -170,5 +170,4 @@ Module psb_i_tools_mod
|
||||
end subroutine psb_iins_multivect
|
||||
end interface
|
||||
|
||||
|
||||
end module psb_i_tools_mod
|
||||
|
||||
@@ -170,5 +170,4 @@ Module psb_l_tools_mod
|
||||
end subroutine psb_lins_multivect
|
||||
end interface
|
||||
|
||||
|
||||
end module psb_l_tools_mod
|
||||
|
||||
@@ -431,5 +431,21 @@ Module psb_s_tools_mod
|
||||
end function
|
||||
end interface
|
||||
|
||||
interface psb_remap
|
||||
subroutine psb_s_remap(np_remap, desc_in, a_in, &
|
||||
& ipd, isrc, nrsrc, naggr, desc_out, a_out, info)
|
||||
import
|
||||
implicit none
|
||||
!....parameters...
|
||||
integer(psb_ipk_), intent(in) :: np_remap
|
||||
type(psb_desc_type), intent(inout) :: desc_in
|
||||
type(psb_sspmat_type), intent(inout) :: a_in
|
||||
type(psb_sspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:), naggr(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_s_remap
|
||||
end interface psb_remap
|
||||
|
||||
end module psb_s_tools_mod
|
||||
|
||||
@@ -431,5 +431,21 @@ Module psb_z_tools_mod
|
||||
end function
|
||||
end interface
|
||||
|
||||
interface psb_remap
|
||||
subroutine psb_z_remap(np_remap, desc_in, a_in, &
|
||||
& ipd, isrc, nrsrc, naggr, desc_out, a_out, info)
|
||||
import
|
||||
implicit none
|
||||
!....parameters...
|
||||
integer(psb_ipk_), intent(in) :: np_remap
|
||||
type(psb_desc_type), intent(inout) :: desc_in
|
||||
type(psb_zspmat_type), intent(inout) :: a_in
|
||||
type(psb_zspmat_type), intent(out) :: a_out
|
||||
type(psb_desc_type), intent(out) :: desc_out
|
||||
integer(psb_ipk_), intent(out) :: ipd
|
||||
integer(psb_ipk_), allocatable, intent(out) :: isrc(:), nrsrc(:), naggr(:)
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine psb_z_remap
|
||||
end interface psb_remap
|
||||
|
||||
end module psb_z_tools_mod
|
||||
|
||||
Reference in New Issue
Block a user