@@ -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