20 INTEGER,
INTENT(IN) :: new_size
21 INTEGER(KIND=1),
DIMENSION(:),
ALLOCATABLE,
INTENT(INOUT) :: byte_array
22 INTEGER(KIND=1),
DIMENSION(:),
ALLOCATABLE :: byte_tmp
25 lsize =
size(byte_array,1)
26 allocate(byte_tmp(new_size))
27 byte_tmp(1:lsize) = byte_array(1:lsize)
28 call move_alloc(byte_tmp,byte_array)
35 INTEGER,
INTENT(IN) :: new_size
36 INTEGER,
DIMENSION(:),
ALLOCATABLE,
INTENT(INOUT) :: integer_array
37 INTEGER,
DIMENSION(:),
ALLOCATABLE :: integer_tmp
40 lsize =
size(integer_array,1)
41 allocate(integer_tmp(new_size))
42 integer_tmp(1:lsize) = integer_array(1:lsize)
43 call move_alloc(integer_tmp,integer_array)
50 INTEGER,
INTENT(IN) :: new_size
51 INTEGER,
DIMENSION(:,:),
ALLOCATABLE,
INTENT(INOUT) :: integer_array
52 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: integer_tmp
55 lsize =
size(integer_array,1)
56 lsize2 =
size(integer_array,2)
57 allocate(integer_tmp(new_size,lsize2))
58 integer_tmp(1:lsize,:) = integer_array(1:lsize,:)
59 call move_alloc(integer_tmp,integer_array)
66 INTEGER,
INTENT(IN) :: new_size
67 INTEGER,
DIMENSION(:,:),
ALLOCATABLE,
INTENT(INOUT) :: integer_array
68 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: integer_tmp
71 lsize =
size(integer_array,1)
72 lsize2 =
size(integer_array,2)
73 allocate(integer_tmp(lsize,new_size))
74 integer_tmp(:,1:lsize2) = integer_array(:,1:lsize2)
75 call move_alloc(integer_tmp,integer_array)
82 INTEGER,
INTENT(IN) :: new_size
83 LOGICAL,
DIMENSION(:),
ALLOCATABLE,
INTENT(INOUT) :: logical_array
84 LOGICAL,
DIMENSION(:),
ALLOCATABLE :: logical_tmp
87 lsize =
size(logical_array,1)
88 allocate(logical_tmp(new_size))
89 logical_tmp(1:lsize) = logical_array(1:lsize)
90 call move_alloc(logical_tmp,logical_array)
97 INTEGER,
INTENT(IN) :: new_size
98 LOGICAL,
DIMENSION(:,:),
ALLOCATABLE,
INTENT(INOUT) :: logical_array
99 LOGICAL,
DIMENSION(:,:),
ALLOCATABLE :: logical_tmp
100 INTEGER lSIZE, lSIZE2
102 lsize =
size(logical_array,1)
103 lsize2 =
size(logical_array,2)
104 allocate(logical_tmp(lsize,new_size))
105 logical_tmp(:,1:lsize2) = logical_array(:,1:lsize2)
106 call move_alloc(logical_tmp,logical_array)
110 SUBROUTINE real_grow(real_array,new_size)
113 INTEGER,
INTENT(IN) :: new_size
114 DOUBLE PRECISION,
DIMENSION(:),
ALLOCATABLE,
INTENT(INOUT) :: real_array
115 DOUBLE PRECISION,
DIMENSION(:),
ALLOCATABLE :: real_tmp
118 lsize =
size(real_array,1)
119 allocate(real_tmp(new_size))
120 real_tmp(1:lsize) = real_array(1:lsize)
121 call move_alloc(real_tmp,real_array)
128 INTEGER,
INTENT(IN) :: new_size
129 DOUBLE PRECISION,
DIMENSION(:,:),
ALLOCATABLE,
INTENT(INOUT) :: real_array
130 DOUBLE PRECISION,
DIMENSION(:,:),
ALLOCATABLE :: real_tmp
131 INTEGER lSIZE, lSIZE2
133 lsize =
size(real_array,1)
134 lsize2 =
size(real_array,2)
135 allocate(real_tmp(lsize,new_size))
136 real_tmp(:,1:lsize2) = real_array(:,1:lsize2)
137 call move_alloc(real_tmp,real_array)
144 INTEGER,
INTENT(IN) :: new_size
145 DOUBLE PRECISION,
DIMENSION(:,:),
ALLOCATABLE,
INTENT(INOUT) :: real_array
146 DOUBLE PRECISION,
DIMENSION(:,:),
ALLOCATABLE :: real_tmp
147 INTEGER lSIZE, lSIZE2
149 lsize =
size(real_array,1)
150 lsize2 =
size(real_array,2)
151 allocate(real_tmp(new_size,lsize2))
152 real_tmp(1:lsize,:) = real_array(1:lsize,:)
153 call move_alloc(real_tmp,real_array)
160 INTEGER,
INTENT(IN) :: new_size
161 DOUBLE PRECISION,
DIMENSION(:,:,:),
ALLOCATABLE,
INTENT(INOUT) :: real_array
162 DOUBLE PRECISION,
DIMENSION(:,:,:),
ALLOCATABLE :: real_tmp
163 INTEGER lSIZE, lSIZE2, lSIZE3
165 lsize =
size(real_array,1)
166 lsize2 =
size(real_array,2)
167 lsize3 =
size(real_array,3)
168 allocate(real_tmp(lsize,lsize2,new_size))
169 real_tmp(:,:,1:lsize3) = real_array(:,:,1:lsize3)
170 call move_alloc(real_tmp,real_array)
177 INTEGER,
INTENT(IN) :: new_size
178 LOGICAL,
DIMENSION(:,:),
ALLOCATABLE,
INTENT(INOUT) :: real_array
179 LOGICAL,
DIMENSION(:,:),
ALLOCATABLE :: real_tmp
180 INTEGER lSIZE, lSIZE2
182 lsize =
size(real_array,1)
183 lsize2 =
size(real_array,2)
184 allocate(real_tmp(new_size,lsize2))
185 real_tmp(1:lsize,:) = real_array(1:lsize,:)
186 call move_alloc(real_tmp,real_array)
subroutine, public integer_grow2_reverse(integer_array, new_size)
subroutine, public logical_grow2(logical_array, new_size)
subroutine, public real_grow(real_array, new_size)
subroutine, public real_grow2(real_array, new_size)
subroutine, public byte_grow(byte_array, new_size)
subroutine, public integer_grow2(integer_array, new_size)
subroutine, public integer_grow(integer_array, new_size)
subroutine, public real_grow2_reverse(real_array, new_size)
subroutine, public real_grow3(real_array, new_size)
subroutine, public logical_grow2_reverse(real_array, new_size)
subroutine, public logical_grow(logical_array, new_size)