@@ -10,12 +10,10 @@ submodule (stdlib_experimental_stats) stdlib_experimental_stats_mean
10
10
11
11
contains
12
12
13
- #:def name(Rank, Type, Kind)
14
- $:"mean_{0}_all_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
15
- #:enddef
16
13
#:for k1, t1 in RC_KINDS_TYPES
17
14
#:for rank in RANKS
18
- module function ${name(rank, t1, k1)}$ (x, mask) result(res)
15
+ #:set RName = rname("mean_all",rank, t1, k1)
16
+ module function ${RName}$ (x, mask) result(res)
19
17
${t1}$, intent(in) :: x${ranksuffix(rank)}$
20
18
logical, intent(in), optional :: mask
21
19
${t1}$ :: res
@@ -27,16 +25,14 @@ $:"mean_{0}_all_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
27
25
28
26
res = sum(x) / real(size(x, kind = int64), ${k1}$)
29
27
30
- end function ${name(rank, t1, k1) }$
28
+ end function ${RName }$
31
29
#:endfor
32
30
#:endfor
33
31
34
- #:def name(Rank, Type, Kind)
35
- $:"mean_{0}_all_{1}{2}_rdp".format(Rank, Type[0], Kind)
36
- #:enddef
37
32
#:for k1, t1 in INT_KINDS_TYPES
38
33
#:for rank in RANKS
39
- module function ${name(rank, t1, k1)}$(x, mask) result(res)
34
+ #:set RName = rname('mean_all', rank, t1, k1,'dp')
35
+ module function ${RName}$(x, mask) result(res)
40
36
${t1}$, intent(in) :: x${ranksuffix(rank)}$
41
37
logical, intent(in), optional :: mask
42
38
real(dp) :: res
@@ -48,17 +44,15 @@ $:"mean_{0}_all_{1}{2}_rdp".format(Rank, Type[0], Kind)
48
44
49
45
res = sum(real(x, dp)) / real(size(x, kind = int64), dp)
50
46
51
- end function ${name(rank, t1, k1) }$
47
+ end function ${RName }$
52
48
#:endfor
53
49
#:endfor
54
50
55
51
56
- #:def name(Rank, Type, Kind)
57
- $:"mean_{0}_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
58
- #:enddef
59
52
#:for k1, t1 in RC_KINDS_TYPES
60
53
#:for rank in RANKS
61
- module function ${name(rank, t1, k1)}$(x, dim, mask) result(res)
54
+ #:set RName = rname("mean",rank, t1, k1)
55
+ module function ${RName}$(x, dim, mask) result(res)
62
56
${t1}$, intent(in) :: x${ranksuffix(rank)}$
63
57
integer, intent(in) :: dim
64
58
logical, intent(in), optional :: mask
@@ -75,17 +69,15 @@ $:"mean_{0}_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
75
69
call error_stop("ERROR (mean): wrong dimension")
76
70
end if
77
71
78
- end function ${name(rank, t1, k1) }$
72
+ end function ${RName }$
79
73
#:endfor
80
74
#:endfor
81
75
82
76
83
- #:def name(Rank, Type, Kind)
84
- $:"mean_{0}_{1}{2}_rdp".format(Rank, Type[0], Kind)
85
- #:enddef
86
77
#:for k1, t1 in INT_KINDS_TYPES
87
78
#:for rank in RANKS
88
- module function ${name(rank, t1, k1)}$(x, dim, mask) result(res)
79
+ #:set RName = rname("mean",rank, t1, k1,'dp')
80
+ module function ${RName}$(x, dim, mask) result(res)
89
81
${t1}$, intent(in) :: x${ranksuffix(rank)}$
90
82
integer, intent(in) :: dim
91
83
logical, intent(in), optional :: mask
@@ -102,49 +94,43 @@ $:"mean_{0}_{1}{2}_rdp".format(Rank, Type[0], Kind)
102
94
call error_stop("ERROR (mean): wrong dimension")
103
95
end if
104
96
105
- end function ${name(rank, t1, k1) }$
97
+ end function ${RName }$
106
98
#:endfor
107
99
#:endfor
108
100
109
- #:def name(Rank, Type, Kind)
110
- $:"mean_{0}_mask_all_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
111
- #:enddef
112
101
#:for k1, t1 in RC_KINDS_TYPES
113
102
#:for rank in RANKS
114
- module function ${name(rank, t1, k1)}$(x, mask) result(res)
103
+ #:set RName = rname('mean_mask_all',rank, t1, k1)
104
+ module function ${RName}$(x, mask) result(res)
115
105
${t1}$, intent(in) :: x${ranksuffix(rank)}$
116
106
logical, intent(in) :: mask${ranksuffix(rank)}$
117
107
${t1}$ :: res
118
108
119
109
res = sum(x, mask) / real(count(mask, kind = int64), ${k1}$)
120
110
121
- end function ${name(rank, t1, k1) }$
111
+ end function ${RName }$
122
112
#:endfor
123
113
#:endfor
124
114
125
115
126
- #:def name(Rank, Type, Kind)
127
- $:"mean_{0}_mask_all_{1}{2}_rdp".format(Rank, Type[0], Kind)
128
- #:enddef
129
116
#:for k1, t1 in INT_KINDS_TYPES
130
117
#:for rank in RANKS
131
- module function ${name(rank, t1, k1)}$(x, mask) result(res)
118
+ #:set RName = rname('mean_mask_all',rank, t1, k1, 'dp')
119
+ module function ${RName}$(x, mask) result(res)
132
120
${t1}$, intent(in) :: x${ranksuffix(rank)}$
133
121
logical, intent(in) :: mask${ranksuffix(rank)}$
134
122
real(dp) :: res
135
123
136
124
res = sum(real(x, dp), mask) / real(count(mask, kind = int64), dp)
137
125
138
- end function ${name(rank, t1, k1) }$
126
+ end function ${RName }$
139
127
#:endfor
140
128
#:endfor
141
129
142
- #:def name(Rank, Type, Kind)
143
- $:"mean_{0}_mask_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
144
- #:enddef
145
130
#:for k1, t1 in RC_KINDS_TYPES
146
131
#:for rank in RANKS
147
- module function ${name(rank, t1, k1)}$(x, dim, mask) result(res)
132
+ #:set RName = rname('mean_mask',rank, t1, k1)
133
+ module function ${RName}$(x, dim, mask) result(res)
148
134
${t1}$, intent(in) :: x${ranksuffix(rank)}$
149
135
integer, intent(in) :: dim
150
136
logical, intent(in) :: mask${ranksuffix(rank)}$
@@ -156,17 +142,15 @@ $:"mean_{0}_mask_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
156
142
call error_stop("ERROR (mean): wrong dimension")
157
143
end if
158
144
159
- end function ${name(rank, t1, k1) }$
145
+ end function ${RName }$
160
146
#:endfor
161
147
#:endfor
162
148
163
149
164
- #:def name(Rank, Type, Kind)
165
- $:"mean_{0}_mask_{1}{2}_rdp".format(Rank, Type[0], Kind)
166
- #:enddef
167
150
#:for k1, t1 in INT_KINDS_TYPES
168
151
#:for rank in RANKS
169
- module function ${name(rank, t1, k1)}$(x, dim, mask) result(res)
152
+ #:set RName = rname('mean_mask',rank, t1, k1, 'dp')
153
+ module function ${RName}$(x, dim, mask) result(res)
170
154
${t1}$, intent(in) :: x${ranksuffix(rank)}$
171
155
integer, intent(in) :: dim
172
156
logical, intent(in) :: mask${ranksuffix(rank)}$
@@ -178,7 +162,7 @@ $:"mean_{0}_mask_{1}{2}_rdp".format(Rank, Type[0], Kind)
178
162
call error_stop("ERROR (mean): wrong dimension")
179
163
end if
180
164
181
- end function ${name(rank, t1, k1) }$
165
+ end function ${RName }$
182
166
#:endfor
183
167
#:endfor
184
168
0 commit comments