Skip to content

Commit 22ff6e4

Browse files
committed
stat_dev: progress rank 3
1 parent 7612613 commit 22ff6e4

4 files changed

+36
-36
lines changed

src/stdlib_experimental_stat.f90

+14-14
Original file line numberDiff line numberDiff line change
@@ -146,57 +146,57 @@ module function mean_3_sp_sp(x, dim) result(res)
146146
integer, intent(in) :: dim
147147
integer :: j_
148148
real(sp) :: res( &
149-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
150-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
149+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
150+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
151151
end function mean_3_sp_sp
152152
module function mean_3_dp_dp(x, dim) result(res)
153153
real(dp), intent(in) :: x(:,:,:)
154154
integer, intent(in) :: dim
155155
integer :: j_
156156
real(dp) :: res( &
157-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
158-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
157+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
158+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
159159
end function mean_3_dp_dp
160160
module function mean_3_qp_qp(x, dim) result(res)
161161
real(qp), intent(in) :: x(:,:,:)
162162
integer, intent(in) :: dim
163163
integer :: j_
164164
real(qp) :: res( &
165-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
166-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
165+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
166+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
167167
end function mean_3_qp_qp
168168

169169
module function mean_3_int8_dp(x, dim) result(res)
170170
integer(int8), intent(in) :: x(:,:,:)
171171
integer, intent(in) :: dim
172172
integer :: j_
173173
real(dp) :: res( &
174-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
175-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
174+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
175+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
176176
end function mean_3_int8_dp
177177
module function mean_3_int16_dp(x, dim) result(res)
178178
integer(int16), intent(in) :: x(:,:,:)
179179
integer, intent(in) :: dim
180180
integer :: j_
181181
real(dp) :: res( &
182-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
183-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
182+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
183+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
184184
end function mean_3_int16_dp
185185
module function mean_3_int32_dp(x, dim) result(res)
186186
integer(int32), intent(in) :: x(:,:,:)
187187
integer, intent(in) :: dim
188188
integer :: j_
189189
real(dp) :: res( &
190-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
191-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
190+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
191+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
192192
end function mean_3_int32_dp
193193
module function mean_3_int64_dp(x, dim) result(res)
194194
integer(int64), intent(in) :: x(:,:,:)
195195
integer, intent(in) :: dim
196196
integer :: j_
197197
real(dp) :: res( &
198-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
199-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
198+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
199+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
200200
end function mean_3_int64_dp
201201

202202
end interface

src/stdlib_experimental_stat.fypp.f90

+4-4
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ module function mean_3_${k1}$_${k1}$(x, dim) result(res)
8484
integer, intent(in) :: dim
8585
integer :: j_
8686
${t1}$ :: res( &
87-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
88-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
87+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
88+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
8989
end function mean_3_${k1}$_${k1}$
9090
#:endfor
9191

@@ -95,8 +95,8 @@ module function mean_3_${k1}$_dp(x, dim) result(res)
9595
integer, intent(in) :: dim
9696
integer :: j_
9797
real(dp) :: res( &
98-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
99-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
98+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
99+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
100100
end function mean_3_${k1}$_dp
101101
#:endfor
102102

src/stdlib_experimental_stat_mean.f90

+14-14
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,8 @@ module function mean_3_sp_sp(x, dim) result(res)
297297
integer, intent(in) :: dim
298298
integer :: j_
299299
real(sp) :: res( &
300-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
301-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
300+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
301+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
302302

303303
integer :: i, j
304304

@@ -330,8 +330,8 @@ module function mean_3_dp_dp(x, dim) result(res)
330330
integer, intent(in) :: dim
331331
integer :: j_
332332
real(dp) :: res( &
333-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
334-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
333+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
334+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
335335

336336
integer :: i, j
337337

@@ -363,8 +363,8 @@ module function mean_3_qp_qp(x, dim) result(res)
363363
integer, intent(in) :: dim
364364
integer :: j_
365365
real(qp) :: res( &
366-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
367-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
366+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
367+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
368368

369369
integer :: i, j
370370

@@ -397,8 +397,8 @@ module function mean_3_int8_dp(x, dim) result(res)
397397
integer, intent(in) :: dim
398398
integer :: j_
399399
real(dp) :: res( &
400-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
401-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
400+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
401+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
402402

403403
integer :: i, j
404404

@@ -430,8 +430,8 @@ module function mean_3_int16_dp(x, dim) result(res)
430430
integer, intent(in) :: dim
431431
integer :: j_
432432
real(dp) :: res( &
433-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
434-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
433+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
434+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
435435

436436
integer :: i, j
437437

@@ -463,8 +463,8 @@ module function mean_3_int32_dp(x, dim) result(res)
463463
integer, intent(in) :: dim
464464
integer :: j_
465465
real(dp) :: res( &
466-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
467-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
466+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
467+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
468468

469469
integer :: i, j
470470

@@ -496,8 +496,8 @@ module function mean_3_int64_dp(x, dim) result(res)
496496
integer, intent(in) :: dim
497497
integer :: j_
498498
real(dp) :: res( &
499-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
500-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
499+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
500+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
501501

502502
integer :: i, j
503503

src/stdlib_experimental_stat_mean.fypp.f90

+4-4
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ module function mean_3_${k1}$_${k1}$(x, dim) result(res)
125125
integer, intent(in) :: dim
126126
integer :: j_
127127
${t1}$ :: res( &
128-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
129-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
128+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
129+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
130130

131131
integer :: i, j
132132

@@ -161,8 +161,8 @@ module function mean_3_${k1}$_dp(x, dim) result(res)
161161
integer, intent(in) :: dim
162162
integer :: j_
163163
real(dp) :: res( &
164-
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, 3)/) == 1)), &
165-
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, 3)/) == 2)) )
164+
merge(size(x,2),size(x,1),mask = any((/(j_, j_ = dim, rank(x))/) == 1)), &
165+
merge(size(x,3),size(x,2),mask = any((/(j_, j_ = dim, rank(x))/) == 2)) )
166166

167167
integer :: i, j
168168

0 commit comments

Comments
 (0)