Skip to content

Commit c1da2d5

Browse files
committed
refactor: reduce code duplication
1 parent 64592e5 commit c1da2d5

File tree

1 file changed

+7
-22
lines changed
  • lib/node_modules/@stdlib/strided/base/dmap/lib

1 file changed

+7
-22
lines changed

lib/node_modules/@stdlib/strided/base/dmap/lib/main.js

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@
1818

1919
'use strict';
2020

21+
// MODULES //
22+
23+
var stride2offset = require( '@stdlib/strided/base/stride2offset' );
24+
var ndarray = require( './ndarray.js' );
25+
26+
2127
// MAIN //
2228

2329
/**
@@ -47,28 +53,7 @@
4753
* // => <Float64Array>[ 10.0, 20.0, 30.0, 40.0, 50.0 ]
4854
*/
4955
function dmap( N, x, strideX, y, strideY, fcn ) {
50-
var ix;
51-
var iy;
52-
var i;
53-
if ( N <= 0 ) {
54-
return y;
55-
}
56-
if ( strideX < 0 ) {
57-
ix = (1-N) * strideX;
58-
} else {
59-
ix = 0;
60-
}
61-
if ( strideY < 0 ) {
62-
iy = (1-N) * strideY;
63-
} else {
64-
iy = 0;
65-
}
66-
for ( i = 0; i < N; i++ ) {
67-
y[ iy ] = fcn( x[ ix ] );
68-
ix += strideX;
69-
iy += strideY;
70-
}
71-
return y;
56+
return ndarray( N, x, strideX, stride2offset( N, strideX ), y, strideY, stride2offset( N, strideY ), fcn ); // eslint-disable-line max-len
7257
}
7358

7459

0 commit comments

Comments
 (0)