@@ -82,12 +82,13 @@ contains
82
82
return
83
83
end if
84
84
85
+ n = size(x, dim)
86
+ mean = sum(x, dim) / n
87
+
85
88
res = 0
86
89
select case(dim)
87
90
#:for fi in range(1, rank+1)
88
91
case(${fi}$)
89
- n = size(x, dim)
90
- mean = sum(x, dim) / n
91
92
do i = 1, size(x, dim)
92
93
res = res + (x${select_subarray(rank, [(fi, 'i')])}$ - mean)**order
93
94
end do
@@ -121,12 +122,13 @@ contains
121
122
return
122
123
end if
123
124
125
+ n = size(x, dim)
126
+ mean = sum(real(x, dp), dim) / n
127
+
124
128
res = 0
125
129
select case(dim)
126
130
#:for fi in range(1, rank+1)
127
131
case(${fi}$)
128
- n = size(x, dim)
129
- mean = sum(real(x, dp), dim) / n
130
132
do i = 1, size(x, dim)
131
133
res = res + (real(x${select_subarray(rank, [(fi, 'i')])}$, dp) - mean)**order
132
134
end do
@@ -198,12 +200,13 @@ contains
198
200
real(${k1}$) :: n${reduced_shape('x', rank, 'dim')}$
199
201
${t1}$ :: mean${reduced_shape('x', rank, 'dim')}$
200
202
203
+ n = count(mask, dim)
204
+ mean = sum(x, dim, mask) / n
205
+
201
206
res = 0
202
207
select case(dim)
203
208
#:for fi in range(1, rank+1)
204
209
case(${fi}$)
205
- n = count(mask, dim)
206
- mean = sum(x, dim, mask) / n
207
210
do i = 1, size(x, dim)
208
211
res = res + merge( (x${select_subarray(rank, [(fi, 'i')])}$ - mean)**order,&
209
212
#:if t1[0] == 'r'
@@ -238,12 +241,13 @@ contains
238
241
real(dp) :: n${reduced_shape('x', rank, 'dim')}$
239
242
real(dp) :: mean${reduced_shape('x', rank, 'dim')}$
240
243
244
+ n = count(mask, dim)
245
+ mean = sum(real(x, dp), dim, mask) / n
246
+
241
247
res = 0
242
248
select case(dim)
243
249
#:for fi in range(1, rank+1)
244
250
case(${fi}$)
245
- n = count(mask, dim)
246
- mean = sum(real(x, dp), dim, mask) / n
247
251
do i = 1, size(x, dim)
248
252
res = res + merge((real(x${select_subarray(rank, [(fi, 'i')])}$, dp) - mean)**order,&
249
253
0._dp, mask${select_subarray(rank, [(fi, 'i')])}$)
0 commit comments