@@ -22,6 +22,7 @@ contains
2222 ${t1}$ :: res
2323
2424 real(${k1}$) :: n
25+ ${t1}$ :: center_
2526
2627 if (.not.optval(mask, .true.)) then
2728 res = ieee_value(1._${k1}$, ieee_quiet_nan)
@@ -31,10 +32,11 @@ contains
3132 n = real(size(x, kind = int64), ${k1}$)
3233
3334 if (present(center)) then
34- res = sum((x - center)**order) / n
35+ center_ = center
3536 else
36- res = sum((x - mean(x))**order) / n
37+ center_ = mean(x)
3738 end if
39+ res = sum((x - center_)**order) / n
3840
3941 end function ${RName}$
4042 #:endfor
@@ -52,6 +54,7 @@ contains
5254 real(dp) :: res
5355
5456 real(dp) :: n
57+ real(dp) :: center_
5558
5659 if (.not.optval(mask, .true.)) then
5760 res = ieee_value(1._dp, ieee_quiet_nan)
@@ -61,10 +64,11 @@ contains
6164 n = real(size(x, kind = int64), dp)
6265
6366 if (present(center)) then
64- res = sum((real(x, dp) - center)**order) / n
67+ center_ = center
6568 else
66- res = sum((real(x, dp) - mean(x))**order) / n
69+ center_ = mean(x)
6770 end if
71+ res = sum((real(x, dp) - center_)**order) / n
6872
6973 end function ${RName}$
7074 #:endfor
@@ -82,14 +86,16 @@ contains
8286 ${t1}$ :: res
8387
8488 real(${k1}$) :: n
89+ ${t1}$ :: center_
8590
8691 n = real(count(mask, kind = int64), ${k1}$)
8792
8893 if (present(center)) then
89- res = sum((x - center)**order, mask) / n
94+ center_ = center
9095 else
91- res = sum((x - mean(x, mask))**order, mask) / n
96+ center_ = mean(x, mask)
9297 end if
98+ res = sum((x - center_)**order, mask) / n
9399
94100 end function ${RName}$
95101 #:endfor
@@ -107,14 +113,16 @@ contains
107113 real(dp) :: res
108114
109115 real(dp) :: n
116+ real(dp) :: center_
110117
111118 n = real(count(mask, kind = int64), dp)
112119
113120 if (present(center)) then
114- res = sum((real(x, dp) - center)**order, mask) / n
121+ center_ = center
115122 else
116- res = sum((real(x, dp) - mean(x,mask))**order, mask) / n
123+ center_ = mean(x, mask)
117124 end if
125+ res = sum((real(x, dp) - center_)**order, mask) / n
118126
119127 end function ${RName}$
120128 #:endfor
0 commit comments