concat_array_ptr Module Function

module function concat_array_ptr(a, idx1, idx2, dim) result(c)

Concatenate two autodiff arrays along a specified dimension

Arguments

Type IntentOptional Attributes Name
type(array_ptr_type), intent(in), dimension(:) :: a
integer, intent(in) :: idx1
integer, intent(in) :: idx2
integer, intent(in) :: dim

Return Value type(array_type), pointer


Source Code

  module function concat_array_ptr(a, idx1, idx2, dim) result(c)
    !! Concatenate two autodiff arrays along a specified dimension
    implicit none

    ! Arguments
    type(array_ptr_type), dimension(:), intent(in) :: a
    integer, intent(in) :: idx1, idx2, dim
    type(array_type), pointer :: c

    ! Local variables
    integer :: i

    c => concat(a(1)%array(idx1, idx2), a(2)%array(idx1, idx2), dim)
    do i = 3, size(a), 1
       c => concat(c, a(i)%array(idx1, idx2), dim)
    end do
  end function concat_array_ptr