Type | Intent | Optional | 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 |
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