@@ -25,14 +25,14 @@ <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 '> 125/125 </ span >
28+ < span class ='fraction '> 68/68 </ 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 '> 19/19 </ span >
35+ < span class ='fraction '> 4/4 </ span >
3636 </ div >
3737
3838
@@ -46,7 +46,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 125/125 </ span >
49+ < span class ='fraction '> 68/68 </ span >
5050 </ div >
5151
5252
@@ -131,64 +131,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
131131< a name ='L66 '> </ a > < a href ='#L66 '> 66</ a >
132132< a name ='L67 '> </ a > < a href ='#L67 '> 67</ a >
133133< a name ='L68 '> </ a > < a href ='#L68 '> 68</ a >
134- < a name ='L69 '> </ a > < a href ='#L69 '> 69</ a >
135- < a name ='L70 '> </ a > < a href ='#L70 '> 70</ a >
136- < a name ='L71 '> </ a > < a href ='#L71 '> 71</ a >
137- < a name ='L72 '> </ a > < a href ='#L72 '> 72</ a >
138- < a name ='L73 '> </ a > < a href ='#L73 '> 73</ a >
139- < a name ='L74 '> </ a > < a href ='#L74 '> 74</ a >
140- < a name ='L75 '> </ a > < a href ='#L75 '> 75</ a >
141- < a name ='L76 '> </ a > < a href ='#L76 '> 76</ a >
142- < a name ='L77 '> </ a > < a href ='#L77 '> 77</ a >
143- < a name ='L78 '> </ a > < a href ='#L78 '> 78</ a >
144- < a name ='L79 '> </ a > < a href ='#L79 '> 79</ a >
145- < a name ='L80 '> </ a > < a href ='#L80 '> 80</ a >
146- < a name ='L81 '> </ a > < a href ='#L81 '> 81</ a >
147- < a name ='L82 '> </ a > < a href ='#L82 '> 82</ a >
148- < a name ='L83 '> </ a > < a href ='#L83 '> 83</ a >
149- < a name ='L84 '> </ a > < a href ='#L84 '> 84</ a >
150- < a name ='L85 '> </ a > < a href ='#L85 '> 85</ a >
151- < a name ='L86 '> </ a > < a href ='#L86 '> 86</ a >
152- < a name ='L87 '> </ a > < a href ='#L87 '> 87</ a >
153- < a name ='L88 '> </ a > < a href ='#L88 '> 88</ a >
154- < a name ='L89 '> </ a > < a href ='#L89 '> 89</ a >
155- < a name ='L90 '> </ a > < a href ='#L90 '> 90</ a >
156- < a name ='L91 '> </ a > < a href ='#L91 '> 91</ a >
157- < a name ='L92 '> </ a > < a href ='#L92 '> 92</ a >
158- < a name ='L93 '> </ a > < a href ='#L93 '> 93</ a >
159- < a name ='L94 '> </ a > < a href ='#L94 '> 94</ a >
160- < a name ='L95 '> </ a > < a href ='#L95 '> 95</ a >
161- < a name ='L96 '> </ a > < a href ='#L96 '> 96</ a >
162- < a name ='L97 '> </ a > < a href ='#L97 '> 97</ a >
163- < a name ='L98 '> </ a > < a href ='#L98 '> 98</ a >
164- < a name ='L99 '> </ a > < a href ='#L99 '> 99</ a >
165- < a name ='L100 '> </ a > < a href ='#L100 '> 100</ a >
166- < a name ='L101 '> </ a > < a href ='#L101 '> 101</ a >
167- < a name ='L102 '> </ a > < a href ='#L102 '> 102</ a >
168- < a name ='L103 '> </ a > < a href ='#L103 '> 103</ a >
169- < a name ='L104 '> </ a > < a href ='#L104 '> 104</ a >
170- < a name ='L105 '> </ a > < a href ='#L105 '> 105</ a >
171- < a name ='L106 '> </ a > < a href ='#L106 '> 106</ a >
172- < a name ='L107 '> </ a > < a href ='#L107 '> 107</ a >
173- < a name ='L108 '> </ a > < a href ='#L108 '> 108</ a >
174- < a name ='L109 '> </ a > < a href ='#L109 '> 109</ a >
175- < a name ='L110 '> </ a > < a href ='#L110 '> 110</ a >
176- < a name ='L111 '> </ a > < a href ='#L111 '> 111</ a >
177- < a name ='L112 '> </ a > < a href ='#L112 '> 112</ a >
178- < a name ='L113 '> </ a > < a href ='#L113 '> 113</ a >
179- < a name ='L114 '> </ a > < a href ='#L114 '> 114</ a >
180- < a name ='L115 '> </ a > < a href ='#L115 '> 115</ a >
181- < a name ='L116 '> </ a > < a href ='#L116 '> 116</ a >
182- < a name ='L117 '> </ a > < a href ='#L117 '> 117</ a >
183- < a name ='L118 '> </ a > < a href ='#L118 '> 118</ a >
184- < a name ='L119 '> </ a > < a href ='#L119 '> 119</ a >
185- < a name ='L120 '> </ a > < a href ='#L120 '> 120</ a >
186- < a name ='L121 '> </ a > < a href ='#L121 '> 121</ a >
187- < a name ='L122 '> </ a > < a href ='#L122 '> 122</ a >
188- < a name ='L123 '> </ a > < a href ='#L123 '> 123</ a >
189- < a name ='L124 '> </ a > < a href ='#L124 '> 124</ a >
190- < a name ='L125 '> </ a > < a href ='#L125 '> 125</ a >
191- < a name ='L126 '> </ a > < a href ='#L126 '> 126</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
134+ < a name ='L69 '> </ a > < a href ='#L69 '> 69</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2x</ span >
192135< span class ="cline-any cline-yes "> 2x</ span >
193136< span class ="cline-any cline-yes "> 2x</ span >
194137< span class ="cline-any cline-yes "> 2x</ span >
@@ -251,63 +194,6 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
251194< span class ="cline-any cline-yes "> 17x</ span >
252195< span class ="cline-any cline-yes "> 17x</ span >
253196< span class ="cline-any cline-yes "> 17x</ span >
254- < span class ="cline-any cline-yes "> 17x</ span >
255- < span class ="cline-any cline-yes "> 17x</ span >
256- < span class ="cline-any cline-yes "> 17x</ span >
257- < span class ="cline-any cline-yes "> 17x</ span >
258- < span class ="cline-any cline-yes "> 17x</ span >
259- < span class ="cline-any cline-yes "> 17x</ span >
260- < span class ="cline-any cline-yes "> 1x</ span >
261- < span class ="cline-any cline-yes "> 17x</ span >
262- < span class ="cline-any cline-yes "> 16x</ span >
263- < span class ="cline-any cline-yes "> 16x</ span >
264- < span class ="cline-any cline-yes "> 17x</ span >
265- < span class ="cline-any cline-yes "> 1x</ span >
266- < span class ="cline-any cline-yes "> 17x</ span >
267- < span class ="cline-any cline-yes "> 16x</ span >
268- < span class ="cline-any cline-yes "> 16x</ span >
269- < span class ="cline-any cline-yes "> 17x</ span >
270- < span class ="cline-any cline-yes "> 2x</ span >
271- < span class ="cline-any cline-yes "> 2x</ span >
272- < span class ="cline-any cline-yes "> 2x</ span >
273- < span class ="cline-any cline-yes "> 2x</ span >
274- < span class ="cline-any cline-yes "> 15x</ span >
275- < span class ="cline-any cline-yes "> 17x</ span >
276- < span class ="cline-any cline-yes "> 4x</ span >
277- < span class ="cline-any cline-yes "> 4x</ span >
278- < span class ="cline-any cline-yes "> 2x</ span >
279- < span class ="cline-any cline-yes "> 2x</ span >
280- < span class ="cline-any cline-yes "> 2x</ span >
281- < span class ="cline-any cline-yes "> 2x</ span >
282- < span class ="cline-any cline-yes "> 4x</ span >
283- < span class ="cline-any cline-yes "> 4x</ span >
284- < span class ="cline-any cline-yes "> 11x</ span >
285- < span class ="cline-any cline-yes "> 11x</ span >
286- < span class ="cline-any cline-yes "> 17x</ span >
287- < span class ="cline-any cline-yes "> 2x</ span >
288- < span class ="cline-any cline-yes "> 2x</ span >
289- < span class ="cline-any cline-yes "> 2x</ span >
290- < span class ="cline-any cline-yes "> 2x</ span >
291- < span class ="cline-any cline-yes "> 9x</ span >
292- < span class ="cline-any cline-yes "> 9x</ span >
293- < span class ="cline-any cline-yes "> 9x</ span >
294- < span class ="cline-any cline-yes "> 17x</ span >
295- < span class ="cline-any cline-yes "> 40x</ span >
296- < span class ="cline-any cline-yes "> 40x</ span >
297- < span class ="cline-any cline-yes "> 40x</ span >
298- < span class ="cline-any cline-yes "> 40x</ span >
299- < span class ="cline-any cline-yes "> 40x</ span >
300- < span class ="cline-any cline-yes "> 9x</ span >
301- < span class ="cline-any cline-yes "> 9x</ span >
302- < span class ="cline-any cline-yes "> 9x</ span >
303- < span class ="cline-any cline-yes "> 9x</ span >
304- < span class ="cline-any cline-yes "> 17x</ span >
305- < span class ="cline-any cline-yes "> 2x</ span >
306- < span class ="cline-any cline-yes "> 17x</ span >
307- < span class ="cline-any cline-yes "> 7x</ span >
308- < span class ="cline-any cline-yes "> 7x</ span >
309- < span class ="cline-any cline-yes "> 9x</ span >
310- < span class ="cline-any cline-yes "> 17x</ span >
311197< span class ="cline-any cline-yes "> 2x</ span >
312198< span class ="cline-any cline-yes "> 2x</ span >
313199< span class ="cline-any cline-yes "> 2x</ span >
@@ -335,8 +221,8 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
335221
336222// MODULES //
337223
338- var isnan = require( '@stdlib/math /base/assert/is-nan ' );
339- var dsumpw = require( '@stdlib/blas/ext/base/dsumpw ' );
224+ var stride2offset = require( '@stdlib/strided /base/stride2offset ' );
225+ var ndarray = require( './ndarray.js ' );
340226
341227
342228// MAIN //
@@ -371,66 +257,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
371257* // returns <Float64Array>[ ~0.3333, ~4.3333 ]
372258*/
373259function dmeanvarpn( N, correction, x, strideX, out, strideOut ) {
374- var mu;
375- var ix;
376- var io;
377- var M2;
378- var M;
379- var d;
380- var c;
381- var n;
382- var i;
383-
384- if ( strideX < 0 ) {
385- ix = (1-N) * strideX;
386- } else {
387- ix = 0;
388- }
389- if ( strideOut < 0 ) {
390- io = -strideOut;
391- } else {
392- io = 0;
393- }
394- if ( N <= 0 ) {
395- out[ io ] = NaN;
396- out[ io+strideOut ] = NaN;
397- return out;
398- }
399- n = N - correction;
400- if ( N === 1 || strideX === 0 ) {
401- out[ io ] = x[ ix ];
402- if ( n <= 0.0 ) {
403- out[ io+strideOut ] = NaN;
404- } else {
405- out[ io+strideOut ] = 0.0;
406- }
407- return out;
408- }
409- // Compute an estimate for the mean:
410- mu = dsumpw( N, x, strideX ) / N;
411- if ( isnan( mu ) ) {
412- out[ io ] = NaN;
413- out[ io+strideOut ] = NaN;
414- return out;
415- }
416- // Compute the sum of squared differences from the mean...
417- M2 = 0.0;
418- M = 0.0;
419- for ( i = 0; i < N; i++ ) {
420- d = x[ ix ] - mu;
421- M2 += d * d;
422- M += d;
423- ix += strideX;
424- }
425- // Compute an error term for the mean:
426- c = M / N;
427-
428- out[ io ] = mu + c;
429- if ( n <= 0.0 ) {
430- out[ io+strideOut ] = NaN;
431- } else {
432- out[ io+strideOut ] = (M2/n) - (c*(M/n));
433- }
260+ var ox = stride2offset( N, strideX );
261+ var oo = ( strideOut >= 0 ) ? 0 : -strideOut;
262+ ndarray( N, correction, x, strideX, ox, out, strideOut, oo );
434263 return out;
435264}
436265
@@ -445,7 +274,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">stats/
445274 < div class ='footer quiet pad2 space-top1 center small '>
446275 Code coverage generated by
447276 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
448- at 2025-05-01T23:58:01.996Z
277+ at 2025-05-14T09:01:52.464Z
449278 </ div >
450279 < script src ="../../../../prettify.js "> </ script >
451280 < script >
0 commit comments