@@ -25,28 +25,28 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
2525 < div class ='fl pad1y space-right2 '>
2626 < span class ="strong "> 100% </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 35/35 </ span >
28+ < span class ='fraction '> 51/51 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
3333 < span class ="strong "> 100% </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 1/1 </ span >
35+ < span class ='fraction '> 2/2 </ span >
3636 </ div >
3737
3838
3939 < div class ='fl pad1y space-right2 '>
4040 < span class ="strong "> 100% </ span >
4141 < span class ="quiet "> Functions</ span >
42- < span class ='fraction '> 0/0 </ span >
42+ < span class ='fraction '> 1/1 </ span >
4343 </ div >
4444
4545
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 35/35 </ span >
49+ < span class ='fraction '> 51/51 </ span >
5050 </ div >
5151
5252
@@ -98,7 +98,31 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
9898< a name ='L33 '> </ a > < a href ='#L33 '> 33</ a >
9999< a name ='L34 '> </ a > < a href ='#L34 '> 34</ a >
100100< 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 >
102126< span class ="cline-any cline-yes "> 2x</ span >
103127< span class ="cline-any cline-yes "> 2x</ span >
104128< 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/
133157< span class ="cline-any cline-yes "> 2x</ span >
134158< span class ="cline-any cline-yes "> 2x</ span >
135159< 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 >
136168< span class ="cline-any cline-neutral "> </ span > </ td > < td class ="text "> < pre class ="prettyprint lang-js "> /**
137169* @license Apache-2.0
138170*
@@ -155,14 +187,30 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
155187
156188// MODULES //
157189
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' );
160191var ndarray = require( './ndarray.js' );
161192
162193
163194// MAIN //
164195
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+ }
166214
167215
168216// EXPORTS //
@@ -175,7 +223,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
175223 < div class ='footer quiet pad2 space-top1 center small '>
176224 Code coverage generated by
177225 < 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
179227 </ div >
180228 < script src ="../../../../prettify.js "> </ script >
181229 < script >
0 commit comments