diff --git a/base/comm/psb_cgather.f90 b/base/comm/psb_cgather.f90 index 37814cd9..2f099932 100644 --- a/base/comm/psb_cgather.f90 +++ b/base/comm/psb_cgather.f90 @@ -333,7 +333,7 @@ subroutine psb_cgather_vect(globx, locx, desc_a, info, iroot) use psb_base_mod, psb_protect_name => psb_cgather_vect implicit none - type(psb_c_vect_type), intent(in) :: locx + type(psb_c_vect_type), intent(inout) :: locx complex(psb_spk_), intent(out) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info @@ -406,8 +406,8 @@ subroutine psb_cgather_vect(globx, locx, desc_a, info, iroot) goto 9999 end if - globx(:)=czero - llocx = locx + globx(:) = czero + llocx = locx%get_vect() do i=1,desc_a%get_local_rows() call psb_loc_to_glob(i,idx,desc_a,info) diff --git a/base/comm/psb_dgather.f90 b/base/comm/psb_dgather.f90 index f24255ce..a601a306 100644 --- a/base/comm/psb_dgather.f90 +++ b/base/comm/psb_dgather.f90 @@ -332,7 +332,7 @@ subroutine psb_dgather_vect(globx, locx, desc_a, info, iroot) use psb_base_mod, psb_protect_name => psb_dgather_vect implicit none - type(psb_d_vect_type), intent(in) :: locx + type(psb_d_vect_type), intent(inout) :: locx real(psb_dpk_), intent(out) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info @@ -405,8 +405,9 @@ subroutine psb_dgather_vect(globx, locx, desc_a, info, iroot) goto 9999 end if - globx(:)=dzero - llocx = locx + globx(:) = dzero + llocx = locx%get_vect() + do i=1,desc_a%get_local_rows() call psb_loc_to_glob(i,idx,desc_a,info) diff --git a/base/comm/psb_sgather.f90 b/base/comm/psb_sgather.f90 index a6a780ec..42abb267 100644 --- a/base/comm/psb_sgather.f90 +++ b/base/comm/psb_sgather.f90 @@ -332,7 +332,7 @@ subroutine psb_sgather_vect(globx, locx, desc_a, info, iroot) use psb_base_mod, psb_protect_name => psb_sgather_vect implicit none - type(psb_s_vect_type), intent(in) :: locx + type(psb_s_vect_type), intent(inout) :: locx real(psb_spk_), intent(out) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info @@ -405,8 +405,9 @@ subroutine psb_sgather_vect(globx, locx, desc_a, info, iroot) goto 9999 end if - globx(:)=szero - llocx = locx + globx(:) = szero + llocx = locx%get_vect() + do i=1,desc_a%get_local_rows() call psb_loc_to_glob(i,idx,desc_a,info) diff --git a/base/comm/psb_zgather.f90 b/base/comm/psb_zgather.f90 index 3159f08e..51322445 100644 --- a/base/comm/psb_zgather.f90 +++ b/base/comm/psb_zgather.f90 @@ -333,7 +333,7 @@ subroutine psb_zgather_vect(globx, locx, desc_a, info, iroot) use psb_base_mod, psb_protect_name => psb_zgather_vect implicit none - type(psb_z_vect_type), intent(in) :: locx + type(psb_z_vect_type), intent(inout) :: locx complex(psb_dpk_), intent(out) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info @@ -406,8 +406,8 @@ subroutine psb_zgather_vect(globx, locx, desc_a, info, iroot) goto 9999 end if - globx(:)=zzero - llocx = locx + globx(:) = zzero + llocx = locx%get_vect() do i=1,desc_a%get_local_rows() call psb_loc_to_glob(i,idx,desc_a,info) diff --git a/base/modules/psb_c_comm_mod.f90 b/base/modules/psb_c_comm_mod.f90 index 49b103a6..0db8bad7 100644 --- a/base/modules/psb_c_comm_mod.f90 +++ b/base/modules/psb_c_comm_mod.f90 @@ -144,7 +144,7 @@ module psb_c_comm_mod subroutine psb_cgather_vect(globx, locx, desc_a, info, root) use psb_descriptor_type use psb_c_vect_mod - type(psb_c_vect_type), intent(in) :: locx + type(psb_c_vect_type), intent(inout) :: locx complex(psb_spk_), intent(out) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info diff --git a/base/modules/psb_d_comm_mod.f90 b/base/modules/psb_d_comm_mod.f90 index e7843094..a47d7f4e 100644 --- a/base/modules/psb_d_comm_mod.f90 +++ b/base/modules/psb_d_comm_mod.f90 @@ -144,7 +144,7 @@ module psb_d_comm_mod subroutine psb_dgather_vect(globx, locx, desc_a, info, root) use psb_descriptor_type use psb_d_vect_mod - type(psb_d_vect_type), intent(in) :: locx + type(psb_d_vect_type), intent(inout) :: locx real(psb_dpk_), intent(out) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info diff --git a/base/modules/psb_s_comm_mod.f90 b/base/modules/psb_s_comm_mod.f90 index 6864f59d..8ecdd3c3 100644 --- a/base/modules/psb_s_comm_mod.f90 +++ b/base/modules/psb_s_comm_mod.f90 @@ -144,7 +144,7 @@ module psb_s_comm_mod subroutine psb_sgather_vect(globx, locx, desc_a, info, root) use psb_descriptor_type use psb_s_vect_mod - type(psb_s_vect_type), intent(in) :: locx + type(psb_s_vect_type), intent(inout) :: locx real(psb_spk_), intent(out) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info diff --git a/base/modules/psb_z_comm_mod.f90 b/base/modules/psb_z_comm_mod.f90 index c496fecc..fece872a 100644 --- a/base/modules/psb_z_comm_mod.f90 +++ b/base/modules/psb_z_comm_mod.f90 @@ -144,7 +144,7 @@ module psb_z_comm_mod subroutine psb_zgather_vect(globx, locx, desc_a, info, root) use psb_descriptor_type use psb_z_vect_mod - type(psb_z_vect_type), intent(in) :: locx + type(psb_z_vect_type), intent(inout) :: locx complex(psb_dpk_), intent(out) :: globx(:) type(psb_desc_type), intent(in) :: desc_a integer, intent(out) :: info