@@ -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 '> 51/51 </ 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 '> 51/51 </ span >
50
50
</ div >
51
51
52
52
@@ -98,7 +98,31 @@ <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 "> 2x</ 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 >
117
+ < a name ='L52 '> </ a > < a href ='#L52 '> 52</ a > </ td > < td class ="line-coverage quiet "> < 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 >
102
126
< span class ="cline-any cline-yes "> 2x</ span >
103
127
< span class ="cline-any cline-yes "> 2x</ span >
104
128
< span class ="cline-any cline-yes "> 2x</ span >
@@ -133,6 +157,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
133
157
< span class ="cline-any cline-yes "> 2x</ span >
134
158
< span class ="cline-any cline-yes "> 2x</ span >
135
159
< span class ="cline-any cline-yes "> 2x</ span >
160
+ < span class ="cline-any cline-yes "> 66x</ span >
161
+ < span class ="cline-any cline-yes "> 66x</ span >
162
+ < span class ="cline-any cline-yes "> 66x</ 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 >
166
+ < span class ="cline-any cline-yes "> 2x</ span >
167
+ < span class ="cline-any cline-yes "> 2x</ span >
136
168
< span class ="cline-any cline-neutral "> </ span > </ td > < td class ="text "> < pre class ="prettyprint lang-js "> /**
137
169
* @license Apache-2.0
138
170
*
@@ -155,14 +187,30 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
155
187
156
188
// MODULES //
157
189
158
- var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
159
- var nanstdevyc = require( './nanstdevyc.js' );
190
+ var stride2offset = require( '@stdlib/strided/base/stride2offset' );
160
191
var ndarray = require( './ndarray.js' );
161
192
162
193
163
194
// MAIN //
164
195
165
- setReadOnly( nanstdevyc, 'ndarray', ndarray );
196
+ /**
197
+ * Computes the standard deviation of a strided array ignoring `NaN` values and using a one-pass algorithm proposed by Youngs and Cramer.
198
+ *
199
+ * @param {PositiveInteger} N - number of indexed elements
200
+ * @param {number} correction - degrees of freedom adjustment
201
+ * @param {NumericArray} x - input array
202
+ * @param {integer} strideX - stride length
203
+ * @returns {number} standard deviation
204
+ *
205
+ * @example
206
+ * var x = [ 1.0, -2.0, NaN, 2.0 ];
207
+ *
208
+ * var v = nanstdevyc( x.length, 1, x, 1 );
209
+ * // returns ~2.0817
210
+ */
211
+ function nanstdevyc( N, correction, x, strideX ) {
212
+ return ndarray( N, correction, x, strideX, stride2offset( N, strideX ) );
213
+ }
166
214
167
215
168
216
// EXPORTS //
@@ -175,7 +223,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
175
223
< div class ='footer quiet pad2 space-top1 center small '>
176
224
Code coverage generated by
177
225
< a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
178
- at 2025-06-22T07:40:26.802Z
226
+ at 2025-06-22T08:34:44.843Z
179
227
</ div >
180
228
< script src ="../../../../prettify.js "> </ script >
181
229
< script >
0 commit comments