Definition at line 26 of file ArrayHandlers.f90.
◆ expand_double_2d()
subroutine arrayhandlersmodule::expandarray2d::expand_double_2d |
( |
real(dp), dimension(:, :), intent(inout), allocatable |
array, |
|
|
integer(i4b), intent(in), optional |
increment1, |
|
|
integer(i4b), intent(in), optional |
increment2 |
|
) |
| |
|
private |
Definition at line 302 of file ArrayHandlers.f90.
304 real(DP),
allocatable,
intent(inout) :: array(:, :)
305 integer(I4B),
optional,
intent(in) :: increment1
306 integer(I4B),
optional,
intent(in) :: increment2
308 integer(I4B) :: inc1, inc2, lb1, lb2, n1, n2
309 real(DP),
allocatable,
dimension(:, :) :: temp
312 if (
present(increment1))
then
317 if (
present(increment2))
then
322 if (inc1 == 0 .and. inc2 == 0)
return
323 if (inc1 < 0 .or. inc2 < 0) &
324 call pstop(1,
"increments must be nonnegative")
329 if (
allocated(array))
then
330 lb1 = lbound(array, 1)
331 lb2 = lbound(array, 2)
335 lb1:(lb1 + n1 + inc1 - 1), &
336 lb2:(lb2 + n2 + inc2 - 1)))
338 lb1:(lb1 + n1 - 1), &
339 lb2:(lb2 + n2 - 1)) = array
341 call move_alloc(temp, array)
343 allocate (array(inc1, inc2))
◆ expand_integer_2d()
subroutine arrayhandlersmodule::expandarray2d::expand_integer_2d |
( |
integer(i4b), dimension(:, :), intent(inout), allocatable |
array, |
|
|
integer(i4b), intent(in), optional |
increment1, |
|
|
integer(i4b), intent(in), optional |
increment2 |
|
) |
| |
|
private |
Definition at line 256 of file ArrayHandlers.f90.
258 integer(I4B),
allocatable,
intent(inout) :: array(:, :)
259 integer(I4B),
optional,
intent(in) :: increment1
260 integer(I4B),
optional,
intent(in) :: increment2
262 integer(I4B) :: inc1, inc2, lb1, lb2, n1, n2
263 integer(I4B),
allocatable,
dimension(:, :) :: temp
266 if (
present(increment1))
then
271 if (
present(increment2))
then
276 if (inc1 == 0 .and. inc2 == 0)
return
277 if (inc1 < 0 .or. inc2 < 0) &
278 call pstop(1,
"increments must be nonnegative")
283 if (
allocated(array))
then
284 lb1 = lbound(array, 1)
285 lb2 = lbound(array, 2)
289 lb1:(lb1 + n1 + inc1 - 1), &
290 lb2:(lb2 + n2 + inc2 - 1)))
292 lb1:(lb1 + n1 - 1), &
293 lb2:(lb2 + n2 - 1)) = array
295 call move_alloc(temp, array)
297 allocate (array(inc1, inc2))
The documentation for this interface was generated from the following file: