| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | allocatable | :: | arr(:) | ||
| integer, | intent(in) | :: | ind | |||
| integer, | intent(in) | :: | elem |
subroutine addToIntArray(arr, ind, elem) integer, intent(inout), allocatable :: arr(:) integer, intent(in) :: ind, elem integer, allocatable :: tmp(:) integer :: nelems if(allocated(arr)) then nelems = size(arr) if(ind > nelems) then ! resize the array allocate(tmp(nelems)) tmp = arr deallocate(arr) allocate(arr(ind), source=0) arr(1:nelems) = tmp(1:nelems) endif else allocate(arr(ind), source=0) endif arr(ind) = elem end subroutine addToIntArray