@@ -10,12 +10,10 @@ submodule (stdlib_experimental_stats) stdlib_experimental_stats_mean
1010
1111contains
1212
13- #:def name(Rank, Type, Kind)
14- $:"mean_{0}_all_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
15- #:enddef
1613 #:for k1, t1 in RC_KINDS_TYPES
1714 #: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)
1917 ${t1}$, intent(in) :: x${ranksuffix(rank)}$
2018 logical, intent(in), optional :: mask
2119 ${t1}$ :: res
@@ -27,16 +25,14 @@ $:"mean_{0}_all_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
2725
2826 res = sum(x) / real(size(x, kind = int64), ${k1}$)
2927
30- end function ${name(rank, t1, k1) }$
28+ end function ${RName }$
3129 #:endfor
3230 #:endfor
3331
34- #:def name(Rank, Type, Kind)
35- $:"mean_{0}_all_{1}{2}_rdp".format(Rank, Type[0], Kind)
36- #:enddef
3732 #:for k1, t1 in INT_KINDS_TYPES
3833 #: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)
4036 ${t1}$, intent(in) :: x${ranksuffix(rank)}$
4137 logical, intent(in), optional :: mask
4238 real(dp) :: res
@@ -48,17 +44,15 @@ $:"mean_{0}_all_{1}{2}_rdp".format(Rank, Type[0], Kind)
4844
4945 res = sum(real(x, dp)) / real(size(x, kind = int64), dp)
5046
51- end function ${name(rank, t1, k1) }$
47+ end function ${RName }$
5248 #:endfor
5349 #:endfor
5450
5551
56- #:def name(Rank, Type, Kind)
57- $:"mean_{0}_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
58- #:enddef
5952 #:for k1, t1 in RC_KINDS_TYPES
6053 #: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)
6256 ${t1}$, intent(in) :: x${ranksuffix(rank)}$
6357 integer, intent(in) :: dim
6458 logical, intent(in), optional :: mask
@@ -75,17 +69,15 @@ $:"mean_{0}_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
7569 call error_stop("ERROR (mean): wrong dimension")
7670 end if
7771
78- end function ${name(rank, t1, k1) }$
72+ end function ${RName }$
7973 #:endfor
8074 #:endfor
8175
8276
83- #:def name(Rank, Type, Kind)
84- $:"mean_{0}_{1}{2}_rdp".format(Rank, Type[0], Kind)
85- #:enddef
8677 #:for k1, t1 in INT_KINDS_TYPES
8778 #: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)
8981 ${t1}$, intent(in) :: x${ranksuffix(rank)}$
9082 integer, intent(in) :: dim
9183 logical, intent(in), optional :: mask
@@ -102,49 +94,43 @@ $:"mean_{0}_{1}{2}_rdp".format(Rank, Type[0], Kind)
10294 call error_stop("ERROR (mean): wrong dimension")
10395 end if
10496
105- end function ${name(rank, t1, k1) }$
97+ end function ${RName }$
10698 #:endfor
10799 #:endfor
108100
109- #:def name(Rank, Type, Kind)
110- $:"mean_{0}_mask_all_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
111- #:enddef
112101 #:for k1, t1 in RC_KINDS_TYPES
113102 #: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)
115105 ${t1}$, intent(in) :: x${ranksuffix(rank)}$
116106 logical, intent(in) :: mask${ranksuffix(rank)}$
117107 ${t1}$ :: res
118108
119109 res = sum(x, mask) / real(count(mask, kind = int64), ${k1}$)
120110
121- end function ${name(rank, t1, k1) }$
111+ end function ${RName }$
122112 #:endfor
123113 #:endfor
124114
125115
126- #:def name(Rank, Type, Kind)
127- $:"mean_{0}_mask_all_{1}{2}_rdp".format(Rank, Type[0], Kind)
128- #:enddef
129116 #:for k1, t1 in INT_KINDS_TYPES
130117 #: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)
132120 ${t1}$, intent(in) :: x${ranksuffix(rank)}$
133121 logical, intent(in) :: mask${ranksuffix(rank)}$
134122 real(dp) :: res
135123
136124 res = sum(real(x, dp), mask) / real(count(mask, kind = int64), dp)
137125
138- end function ${name(rank, t1, k1) }$
126+ end function ${RName }$
139127 #:endfor
140128 #:endfor
141129
142- #:def name(Rank, Type, Kind)
143- $:"mean_{0}_mask_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
144- #:enddef
145130 #:for k1, t1 in RC_KINDS_TYPES
146131 #: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)
148134 ${t1}$, intent(in) :: x${ranksuffix(rank)}$
149135 integer, intent(in) :: dim
150136 logical, intent(in) :: mask${ranksuffix(rank)}$
@@ -156,17 +142,15 @@ $:"mean_{0}_mask_{1}{2}_{1}{2}".format(Rank, Type[0], Kind)
156142 call error_stop("ERROR (mean): wrong dimension")
157143 end if
158144
159- end function ${name(rank, t1, k1) }$
145+ end function ${RName }$
160146 #:endfor
161147 #:endfor
162148
163149
164- #:def name(Rank, Type, Kind)
165- $:"mean_{0}_mask_{1}{2}_rdp".format(Rank, Type[0], Kind)
166- #:enddef
167150 #:for k1, t1 in INT_KINDS_TYPES
168151 #: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)
170154 ${t1}$, intent(in) :: x${ranksuffix(rank)}$
171155 integer, intent(in) :: dim
172156 logical, intent(in) :: mask${ranksuffix(rank)}$
@@ -178,7 +162,7 @@ $:"mean_{0}_mask_{1}{2}_rdp".format(Rank, Type[0], Kind)
178162 call error_stop("ERROR (mean): wrong dimension")
179163 end if
180164
181- end function ${name(rank, t1, k1) }$
165+ end function ${RName }$
182166 #:endfor
183167 #:endfor
184168
0 commit comments