v_to_p_i_dist_o Subroutine

private subroutine v_to_p_i_dist_o(vdist, nim, pdist, idist)

Arguments

Type IntentOptional Attributes Name
type(array_i1d_obj), intent(in) :: vdist
integer, intent(in) :: nim
type(array_i1d_obj), intent(out) :: pdist
type(array_i1d_obj), intent(out) :: idist

Source Code

   SUBROUTINE v_to_p_i_dist_o(vdist, nim, pdist, idist)
      TYPE(array_i1d_obj), INTENT(in)                    :: vdist
      INTEGER, INTENT(in)                                :: nim
      TYPE(array_i1d_obj), INTENT(out)                   :: pdist, idist

      INTEGER                                            :: nel
      INTEGER, DIMENSION(:), POINTER, CONTIGUOUS         :: id, pd, vd

      nel = array_size(vdist)
      vd => array_data(vdist)
      ALLOCATE (pd(nel), id(nel))
      CALL v_to_p_i_dist(nel, vd, nim, pd, id)
      CALL array_new(pdist, pd, gift=.TRUE.)
      CALL array_new(idist, id, gift=.TRUE.)
   END SUBROUTINE v_to_p_i_dist_o