ltrim_array Module Function

module function ltrim_array(a, b, dim) result(c)

Left trim an autodiff array

Arguments

Type IntentOptional Attributes Name
class(array_type), intent(in), target :: a
integer, intent(in) :: b
integer, intent(in), optional :: dim

Return Value type(array_type), pointer


Source Code

  module function ltrim_array(a, b, dim) result(c)
    !! Left trim an autodiff array
    implicit none
    class(array_type), intent(in), target :: a
    integer, intent(in) :: b
    integer, intent(in), optional :: dim
    type(array_type), pointer :: c

    if(present(dim)) then
       c => slice_right_array(a, size(a%val, dim) - b, dim)
    else
       c => slice_right_array(a, size(a%val, 1) - b, 1)
    end if

  end function ltrim_array