Skip to content

Commit bc9fea3

Browse files
authored
refactor: avoid repeated temporary array allocation
Signed-off-by: Athan <[email protected]>
1 parent 821d72b commit bc9fea3

File tree

1 file changed

+9
-3
lines changed
  • lib/node_modules/@stdlib/stats/base/dnanmeanpw/lib

1 file changed

+9
-3
lines changed

lib/node_modules/@stdlib/stats/base/dnanmeanpw/lib/ndarray.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ var dnannsumpw = require( '@stdlib/blas/ext/base/dnannsumpw' ).ndarray;
2424
var Float64Array = require( '@stdlib/array/float64' );
2525

2626

27+
// VARIABLES //
28+
29+
var WORKSPACE = new Float64Array( 2 );
30+
31+
2732
// MAIN //
2833

2934
/**
@@ -44,9 +49,10 @@ var Float64Array = require( '@stdlib/array/float64' );
4449
* // returns 1.25
4550
*/
4651
function dnanmeanpw( N, x, strideX, offsetX ) {
47-
var out = new Float64Array( 2 );
48-
dnannsumpw( N, x, strideX, offsetX, out, 1, 0 );
49-
return out[ 0 ] / out[ 1 ];
52+
WORKSPACE[ 0 ] = 0.0;
53+
WORKSPACE[ 1 ] = 0;
54+
dnannsumpw( N, x, strideX, offsetX, WORKSPACE, 1, 0 );
55+
return WORKSPACE[ 0 ] / WORKSPACE[ 1 ];
5056
}
5157

5258

0 commit comments

Comments
 (0)