@@ -22,6 +22,7 @@ contains
22
22
${t1}$ :: res
23
23
24
24
real(${k1}$) :: n
25
+ ${t1}$ :: center_
25
26
26
27
if (.not.optval(mask, .true.)) then
27
28
res = ieee_value(1._${k1}$, ieee_quiet_nan)
@@ -31,10 +32,11 @@ contains
31
32
n = real(size(x, kind = int64), ${k1}$)
32
33
33
34
if (present(center)) then
34
- res = sum((x - center)**order) / n
35
+ center_ = center
35
36
else
36
- res = sum((x - mean(x))**order) / n
37
+ center_ = mean(x)
37
38
end if
39
+ res = sum((x - center_)**order) / n
38
40
39
41
end function ${RName}$
40
42
#:endfor
@@ -52,6 +54,7 @@ contains
52
54
real(dp) :: res
53
55
54
56
real(dp) :: n
57
+ real(dp) :: center_
55
58
56
59
if (.not.optval(mask, .true.)) then
57
60
res = ieee_value(1._dp, ieee_quiet_nan)
@@ -61,10 +64,11 @@ contains
61
64
n = real(size(x, kind = int64), dp)
62
65
63
66
if (present(center)) then
64
- res = sum((real(x, dp) - center)**order) / n
67
+ center_ = center
65
68
else
66
- res = sum((real(x, dp) - mean(x))**order) / n
69
+ center_ = mean(x)
67
70
end if
71
+ res = sum((real(x, dp) - center_)**order) / n
68
72
69
73
end function ${RName}$
70
74
#:endfor
@@ -82,14 +86,16 @@ contains
82
86
${t1}$ :: res
83
87
84
88
real(${k1}$) :: n
89
+ ${t1}$ :: center_
85
90
86
91
n = real(count(mask, kind = int64), ${k1}$)
87
92
88
93
if (present(center)) then
89
- res = sum((x - center)**order, mask) / n
94
+ center_ = center
90
95
else
91
- res = sum((x - mean(x, mask))**order, mask) / n
96
+ center_ = mean(x, mask)
92
97
end if
98
+ res = sum((x - center_)**order, mask) / n
93
99
94
100
end function ${RName}$
95
101
#:endfor
@@ -107,14 +113,16 @@ contains
107
113
real(dp) :: res
108
114
109
115
real(dp) :: n
116
+ real(dp) :: center_
110
117
111
118
n = real(count(mask, kind = int64), dp)
112
119
113
120
if (present(center)) then
114
- res = sum((real(x, dp) - center)**order, mask) / n
121
+ center_ = center
115
122
else
116
- res = sum((real(x, dp) - mean(x,mask))**order, mask) / n
123
+ center_ = mean(x, mask)
117
124
end if
125
+ res = sum((real(x, dp) - center_)**order, mask) / n
118
126
119
127
end function ${RName}$
120
128
#:endfor
0 commit comments