@@ -25,28 +25,28 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
25
25
< div class ='fl pad1y space-right2 '>
26
26
< span class ="strong "> 100% </ span >
27
27
< span class ="quiet "> Statements</ span >
28
- < span class ='fraction '> 35/35 </ span >
28
+ < span class ='fraction '> 50/50 </ span >
29
29
</ div >
30
30
31
31
32
32
< div class ='fl pad1y space-right2 '>
33
33
< span class ="strong "> 100% </ span >
34
34
< span class ="quiet "> Branches</ span >
35
- < span class ='fraction '> 1/1 </ span >
35
+ < span class ='fraction '> 2/2 </ span >
36
36
</ div >
37
37
38
38
39
39
< div class ='fl pad1y space-right2 '>
40
40
< span class ="strong "> 100% </ span >
41
41
< span class ="quiet "> Functions</ span >
42
- < span class ='fraction '> 0/0 </ span >
42
+ < span class ='fraction '> 1/1 </ span >
43
43
</ div >
44
44
45
45
46
46
< div class ='fl pad1y space-right2 '>
47
47
< span class ="strong "> 100% </ span >
48
48
< span class ="quiet "> Lines</ span >
49
- < span class ='fraction '> 35/35 </ span >
49
+ < span class ='fraction '> 50/50 </ span >
50
50
</ div >
51
51
52
52
@@ -98,41 +98,71 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
98
98
< a name ='L33 '> </ a > < a href ='#L33 '> 33</ a >
99
99
< a name ='L34 '> </ a > < a href ='#L34 '> 34</ a >
100
100
< a name ='L35 '> </ a > < a href ='#L35 '> 35</ a >
101
- < a name ='L36 '> </ a > < a href ='#L36 '> 36</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
102
- < span class ="cline-any cline-yes "> 1x</ span >
103
- < span class ="cline-any cline-yes "> 1x</ span >
104
- < span class ="cline-any cline-yes "> 1x</ span >
105
- < span class ="cline-any cline-yes "> 1x</ span >
106
- < span class ="cline-any cline-yes "> 1x</ span >
107
- < span class ="cline-any cline-yes "> 1x</ span >
108
- < span class ="cline-any cline-yes "> 1x</ span >
109
- < span class ="cline-any cline-yes "> 1x</ span >
110
- < span class ="cline-any cline-yes "> 1x</ span >
111
- < span class ="cline-any cline-yes "> 1x</ span >
112
- < span class ="cline-any cline-yes "> 1x</ span >
113
- < span class ="cline-any cline-yes "> 1x</ span >
114
- < span class ="cline-any cline-yes "> 1x</ span >
115
- < span class ="cline-any cline-yes "> 1x</ span >
116
- < span class ="cline-any cline-yes "> 1x</ span >
117
- < span class ="cline-any cline-yes "> 1x</ span >
118
- < span class ="cline-any cline-yes "> 1x</ span >
119
- < span class ="cline-any cline-yes "> 1x</ span >
120
- < span class ="cline-any cline-yes "> 1x</ span >
121
- < span class ="cline-any cline-yes "> 1x</ span >
122
- < span class ="cline-any cline-yes "> 1x</ span >
123
- < span class ="cline-any cline-yes "> 1x</ span >
124
- < span class ="cline-any cline-yes "> 1x</ span >
125
- < span class ="cline-any cline-yes "> 1x</ span >
126
- < span class ="cline-any cline-yes "> 1x</ span >
127
- < span class ="cline-any cline-yes "> 1x</ span >
128
- < span class ="cline-any cline-yes "> 1x</ span >
129
- < span class ="cline-any cline-yes "> 1x</ span >
130
- < span class ="cline-any cline-yes "> 1x</ span >
131
- < span class ="cline-any cline-yes "> 1x</ span >
132
- < span class ="cline-any cline-yes "> 1x</ span >
133
- < span class ="cline-any cline-yes "> 1x</ span >
134
- < span class ="cline-any cline-yes "> 1x</ span >
135
- < span class ="cline-any cline-yes "> 1x</ span >
101
+ < a name ='L36 '> </ a > < a href ='#L36 '> 36</ a >
102
+ < a name ='L37 '> </ a > < a href ='#L37 '> 37</ a >
103
+ < a name ='L38 '> </ a > < a href ='#L38 '> 38</ a >
104
+ < a name ='L39 '> </ a > < a href ='#L39 '> 39</ a >
105
+ < a name ='L40 '> </ a > < a href ='#L40 '> 40</ a >
106
+ < a name ='L41 '> </ a > < a href ='#L41 '> 41</ a >
107
+ < a name ='L42 '> </ a > < a href ='#L42 '> 42</ a >
108
+ < a name ='L43 '> </ a > < a href ='#L43 '> 43</ a >
109
+ < a name ='L44 '> </ a > < a href ='#L44 '> 44</ a >
110
+ < a name ='L45 '> </ a > < a href ='#L45 '> 45</ a >
111
+ < a name ='L46 '> </ a > < a href ='#L46 '> 46</ a >
112
+ < a name ='L47 '> </ a > < a href ='#L47 '> 47</ a >
113
+ < a name ='L48 '> </ a > < a href ='#L48 '> 48</ a >
114
+ < a name ='L49 '> </ a > < a href ='#L49 '> 49</ a >
115
+ < a name ='L50 '> </ a > < a href ='#L50 '> 50</ a >
116
+ < a name ='L51 '> </ a > < a href ='#L51 '> 51</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
117
+ < span class ="cline-any cline-yes "> 2x</ span >
118
+ < span class ="cline-any cline-yes "> 2x</ span >
119
+ < span class ="cline-any cline-yes "> 2x</ span >
120
+ < span class ="cline-any cline-yes "> 2x</ span >
121
+ < span class ="cline-any cline-yes "> 2x</ span >
122
+ < span class ="cline-any cline-yes "> 2x</ span >
123
+ < span class ="cline-any cline-yes "> 2x</ span >
124
+ < span class ="cline-any cline-yes "> 2x</ span >
125
+ < span class ="cline-any cline-yes "> 2x</ span >
126
+ < span class ="cline-any cline-yes "> 2x</ span >
127
+ < span class ="cline-any cline-yes "> 2x</ span >
128
+ < span class ="cline-any cline-yes "> 2x</ span >
129
+ < span class ="cline-any cline-yes "> 2x</ span >
130
+ < span class ="cline-any cline-yes "> 2x</ span >
131
+ < span class ="cline-any cline-yes "> 2x</ span >
132
+ < span class ="cline-any cline-yes "> 2x</ span >
133
+ < span class ="cline-any cline-yes "> 2x</ span >
134
+ < span class ="cline-any cline-yes "> 2x</ span >
135
+ < span class ="cline-any cline-yes "> 2x</ span >
136
+ < span class ="cline-any cline-yes "> 2x</ span >
137
+ < span class ="cline-any cline-yes "> 2x</ span >
138
+ < span class ="cline-any cline-yes "> 2x</ span >
139
+ < span class ="cline-any cline-yes "> 2x</ span >
140
+ < span class ="cline-any cline-yes "> 2x</ span >
141
+ < span class ="cline-any cline-yes "> 2x</ span >
142
+ < span class ="cline-any cline-yes "> 2x</ span >
143
+ < span class ="cline-any cline-yes "> 2x</ span >
144
+ < span class ="cline-any cline-yes "> 2x</ span >
145
+ < span class ="cline-any cline-yes "> 2x</ span >
146
+ < span class ="cline-any cline-yes "> 2x</ span >
147
+ < span class ="cline-any cline-yes "> 2x</ span >
148
+ < span class ="cline-any cline-yes "> 2x</ span >
149
+ < span class ="cline-any cline-yes "> 2x</ span >
150
+ < span class ="cline-any cline-yes "> 2x</ span >
151
+ < span class ="cline-any cline-yes "> 2x</ span >
152
+ < span class ="cline-any cline-yes "> 2x</ span >
153
+ < span class ="cline-any cline-yes "> 2x</ span >
154
+ < span class ="cline-any cline-yes "> 2x</ span >
155
+ < span class ="cline-any cline-yes "> 2x</ span >
156
+ < span class ="cline-any cline-yes "> 2x</ span >
157
+ < span class ="cline-any cline-yes "> 2x</ span >
158
+ < span class ="cline-any cline-yes "> 17x</ span >
159
+ < span class ="cline-any cline-yes "> 17x</ span >
160
+ < span class ="cline-any cline-yes "> 17x</ span >
161
+ < span class ="cline-any cline-yes "> 2x</ span >
162
+ < span class ="cline-any cline-yes "> 2x</ span >
163
+ < span class ="cline-any cline-yes "> 2x</ span >
164
+ < span class ="cline-any cline-yes "> 2x</ span >
165
+ < span class ="cline-any cline-yes "> 2x</ span >
136
166
< span class ="cline-any cline-neutral "> </ span > </ td > < td class ="text "> < pre class ="prettyprint lang-js "> /**
137
167
* @license Apache-2.0
138
168
*
@@ -155,14 +185,29 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
155
185
156
186
// MODULES //
157
187
158
- var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
159
- var nanmeanors = require( './nanmeanors.js' );
188
+ var stride2offset = require( '@stdlib/strided/base/stride2offset' );
160
189
var ndarray = require( './ndarray.js' );
161
190
162
191
163
192
// MAIN //
164
193
165
- setReadOnly( nanmeanors, 'ndarray', ndarray );
194
+ /**
195
+ * Computes the arithmetic mean of a strided array, ignoring `NaN` values and using ordinary recursive summation.
196
+ *
197
+ * @param {PositiveInteger} N - number of indexed elements
198
+ * @param {NumericArray} x - input array
199
+ * @param {integer} strideX - stride length
200
+ * @returns {number} arithmetic mean
201
+ *
202
+ * @example
203
+ * var x = [ 1.0, -2.0, NaN, 2.0 ];
204
+ *
205
+ * var v = nanmeanors( 4, x, 1 );
206
+ * // returns ~0.3333
207
+ */
208
+ function nanmeanors( N, x, strideX ) {
209
+ return ndarray( N, x, strideX, stride2offset( N, strideX ) );
210
+ }
166
211
167
212
168
213
// EXPORTS //
@@ -175,7 +220,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
175
220
< div class ='footer quiet pad2 space-top1 center small '>
176
221
Code coverage generated by
177
222
< a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
178
- at 2025-04-07T09:31:44.201Z
223
+ at 2025-04-08T13:54:38.444Z
179
224
</ div >
180
225
< script src ="../../../../prettify.js "> </ script >
181
226
< script >
0 commit comments