|
|
|
@ -29,9 +29,11 @@
|
|
|
|
!!$ POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
!!$ POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
!!$
|
|
|
|
!!$
|
|
|
|
!!$
|
|
|
|
!!$
|
|
|
|
|
|
|
|
submodule (psi_i_mod) psi_desc_impl_mod
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psi_renum_index(iperm,idx,info)
|
|
|
|
contains
|
|
|
|
use psi_mod, psi_protect_name => psi_renum_index
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psi_renum_index(iperm,idx,info)
|
|
|
|
use psb_serial_mod
|
|
|
|
use psb_serial_mod
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
|
|
|
|
@ -58,11 +60,9 @@ subroutine psi_renum_index(iperm,idx,info)
|
|
|
|
k = idx(i)
|
|
|
|
k = idx(i)
|
|
|
|
enddo
|
|
|
|
enddo
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psi_renum_index
|
|
|
|
end subroutine psi_renum_index
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psi_cnv_dsc(halo_in,ovrlap_in,ext_in,cdesc, info, mold)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use psi_mod, psi_protect_name => psi_cnv_dsc
|
|
|
|
subroutine psi_cnv_dsc(halo_in,ovrlap_in,ext_in,cdesc, info, mold)
|
|
|
|
use psb_realloc_mod
|
|
|
|
use psb_realloc_mod
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
|
|
|
|
|
|
|
|
@ -185,11 +185,10 @@ subroutine psi_cnv_dsc(halo_in,ovrlap_in,ext_in,cdesc, info, mold)
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psi_cnv_dsc
|
|
|
|
end subroutine psi_cnv_dsc
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psi_inner_cnvs(x,hashmask,hashv,glb_lc)
|
|
|
|
subroutine psi_inner_cnvs(x,hashmask,hashv,glb_lc)
|
|
|
|
use psi_mod, psi_protect_name => psi_inner_cnvs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
integer(psb_ipk_), intent(in) :: hashmask,hashv(0:),glb_lc(:,:)
|
|
|
|
integer(psb_ipk_), intent(in) :: hashmask,hashv(0:),glb_lc(:,:)
|
|
|
|
integer(psb_ipk_), intent(inout) :: x
|
|
|
|
integer(psb_ipk_), intent(inout) :: x
|
|
|
|
@ -231,10 +230,9 @@ subroutine psi_inner_cnvs(x,hashmask,hashv,glb_lc)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
x = tmp
|
|
|
|
x = tmp
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
end subroutine psi_inner_cnvs
|
|
|
|
end subroutine psi_inner_cnvs
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psi_inner_cnvs2(x,y,hashmask,hashv,glb_lc)
|
|
|
|
subroutine psi_inner_cnvs2(x,y,hashmask,hashv,glb_lc)
|
|
|
|
use psi_mod, psi_protect_name => psi_inner_cnvs2
|
|
|
|
|
|
|
|
integer(psb_ipk_), intent(in) :: hashmask,hashv(0:),glb_lc(:,:)
|
|
|
|
integer(psb_ipk_), intent(in) :: hashmask,hashv(0:),glb_lc(:,:)
|
|
|
|
integer(psb_ipk_), intent(in) :: x
|
|
|
|
integer(psb_ipk_), intent(in) :: x
|
|
|
|
integer(psb_ipk_), intent(out) :: y
|
|
|
|
integer(psb_ipk_), intent(out) :: y
|
|
|
|
@ -276,11 +274,10 @@ subroutine psi_inner_cnvs2(x,y,hashmask,hashv,glb_lc)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
y = tmp
|
|
|
|
y = tmp
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
end subroutine psi_inner_cnvs2
|
|
|
|
end subroutine psi_inner_cnvs2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psi_inner_cnv1(n,x,hashmask,hashv,glb_lc,mask)
|
|
|
|
subroutine psi_inner_cnv1(n,x,hashmask,hashv,glb_lc,mask)
|
|
|
|
use psi_mod, psi_protect_name => psi_inner_cnv1
|
|
|
|
|
|
|
|
integer(psb_ipk_), intent(in) :: n,hashmask,hashv(0:),glb_lc(:,:)
|
|
|
|
integer(psb_ipk_), intent(in) :: n,hashmask,hashv(0:),glb_lc(:,:)
|
|
|
|
logical, intent(in), optional :: mask(:)
|
|
|
|
logical, intent(in), optional :: mask(:)
|
|
|
|
integer(psb_ipk_), intent(inout) :: x(:)
|
|
|
|
integer(psb_ipk_), intent(inout) :: x(:)
|
|
|
|
@ -358,10 +355,9 @@ subroutine psi_inner_cnv1(n,x,hashmask,hashv,glb_lc,mask)
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
end subroutine psi_inner_cnv1
|
|
|
|
end subroutine psi_inner_cnv1
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psi_inner_cnv2(n,x,y,hashmask,hashv,glb_lc,mask)
|
|
|
|
subroutine psi_inner_cnv2(n,x,y,hashmask,hashv,glb_lc,mask)
|
|
|
|
use psi_mod, psi_protect_name => psi_inner_cnv2
|
|
|
|
|
|
|
|
integer(psb_ipk_), intent(in) :: n, hashmask,hashv(0:),glb_lc(:,:)
|
|
|
|
integer(psb_ipk_), intent(in) :: n, hashmask,hashv(0:),glb_lc(:,:)
|
|
|
|
logical, intent(in),optional :: mask(:)
|
|
|
|
logical, intent(in),optional :: mask(:)
|
|
|
|
integer(psb_ipk_), intent(in) :: x(:)
|
|
|
|
integer(psb_ipk_), intent(in) :: x(:)
|
|
|
|
@ -446,10 +442,9 @@ subroutine psi_inner_cnv2(n,x,y,hashmask,hashv,glb_lc,mask)
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
end do
|
|
|
|
end do
|
|
|
|
end if
|
|
|
|
end if
|
|
|
|
end subroutine psi_inner_cnv2
|
|
|
|
end subroutine psi_inner_cnv2
|
|
|
|
|
|
|
|
|
|
|
|
subroutine psi_bld_ovr_mst(me,ovrlap_elem,mst_idx,info)
|
|
|
|
subroutine psi_bld_ovr_mst(me,ovrlap_elem,mst_idx,info)
|
|
|
|
use psi_mod, psi_protect_name => psi_bld_ovr_mst
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use psb_realloc_mod
|
|
|
|
use psb_realloc_mod
|
|
|
|
implicit none
|
|
|
|
implicit none
|
|
|
|
@ -493,5 +488,6 @@ subroutine psi_bld_ovr_mst(me,ovrlap_elem,mst_idx,info)
|
|
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine psi_bld_ovr_mst
|
|
|
|
end subroutine psi_bld_ovr_mst
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end submodule psi_desc_impl_mod
|
|
|
|
|