diff --git a/base/modules/tools/psb_cd_tools_mod.f90 b/base/modules/tools/psb_cd_tools_mod.f90 index 9f871b90..62d22ed3 100644 --- a/base/modules/tools/psb_cd_tools_mod.f90 +++ b/base/modules/tools/psb_cd_tools_mod.f90 @@ -122,6 +122,24 @@ module psb_cd_tools_mod logical, optional, target, intent(in) :: mask(:) integer(psb_ipk_), intent(in), optional :: lidx(:) end subroutine psb_cdinsc + subroutine psb_lcdinsrc(nz,ia,ja,desc_a,info,ila,jla) + import :: psb_ipk_, psb_lpk_, psb_desc_type + type(psb_desc_type), intent(inout) :: desc_a + integer(psb_lpk_), intent(in) :: nz + integer(psb_lpk_), intent(in) :: ia(:),ja(:) + integer(psb_ipk_), intent(out) :: info + integer(psb_ipk_), optional, intent(out) :: ila(:), jla(:) + end subroutine psb_lcdinsrc + subroutine psb_lcdinsc(nz,ja,desc,info,jla,mask,lidx) + import :: psb_ipk_, psb_lpk_, psb_desc_type + type(psb_desc_type), intent(inout) :: desc + integer(psb_lpk_), intent(in) :: nz + integer(psb_lpk_), intent(in) :: ja(:) + integer(psb_ipk_), intent(out) :: info + integer(psb_ipk_), optional, intent(out) :: jla(:) + logical, optional, target, intent(in) :: mask(:) + integer(psb_ipk_), intent(in), optional :: lidx(:) + end subroutine psb_lcdinsc end interface interface psb_cdbldext diff --git a/base/tools/psb_cdins.f90 b/base/tools/psb_cdins.f90 index 3ac5ee42..5e219296 100644 --- a/base/tools/psb_cdins.f90 +++ b/base/tools/psb_cdins.f90 @@ -56,6 +56,23 @@ subroutine psb_cdinsrc(nz,ia,ja,desc_a,info,ila,jla) integer(psb_lpk_), intent(in) :: ia(:),ja(:) integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), optional, intent(out) :: ila(:), jla(:) + + integer(psb_lpk_) :: lnz + lnz = nz + call psb_cdins(lnz,ia,ja,desc_a,info,ila,jla) +end subroutine psb_cdinsrc + +subroutine psb_lcdinsrc(nz,ia,ja,desc_a,info,ila,jla) + use psb_base_mod, psb_protect_name => psb_lcdinsrc + use psi_mod + implicit none + + !....PARAMETERS... + Type(psb_desc_type), intent(inout) :: desc_a + integer(psb_lpk_), intent(in) :: nz + integer(psb_lpk_), intent(in) :: ia(:),ja(:) + integer(psb_ipk_), intent(out) :: info + integer(psb_ipk_), optional, intent(out) :: ila(:), jla(:) !LOCALS..... integer(psb_ipk_) :: ictxt,dectype,mglob, nglob @@ -146,7 +163,7 @@ subroutine psb_cdinsrc(nz,ia,ja,desc_a,info,ila,jla) return -end subroutine psb_cdinsrc +end subroutine psb_lcdinsrc ! ! Subroutine: psb_cdinsc @@ -177,6 +194,26 @@ subroutine psb_cdinsc(nz,ja,desc,info,jla,mask,lidx) logical, optional, target, intent(in) :: mask(:) integer(psb_ipk_), intent(in), optional :: lidx(:) + integer(psb_lpk_) :: lnz + + lnz = nz + call psb_cdins(lnz,ja,desc,info,jla,mask,lidx) +end subroutine psb_cdinsc + +subroutine psb_lcdinsc(nz,ja,desc,info,jla,mask,lidx) + use psb_base_mod, psb_protect_name => psb_lcdinsc + use psi_mod + implicit none + + !....PARAMETERS... + Type(psb_desc_type), intent(inout) :: desc + integer(psb_lpk_), intent(in) :: nz + integer(psb_lpk_), intent(in) :: ja(:) + integer(psb_ipk_), intent(out) :: info + integer(psb_ipk_), optional, intent(out) :: jla(:) + logical, optional, target, intent(in) :: mask(:) + integer(psb_ipk_), intent(in), optional :: lidx(:) + !LOCALS..... @@ -263,5 +300,5 @@ subroutine psb_cdinsc(nz,ja,desc,info,jla,mask,lidx) return -end subroutine psb_cdinsc +end subroutine psb_lcdinsc