Skip to content

Commit b1b03bb

Browse files
authored
Update accessors.js
Signed-off-by: Kaushikgtm <[email protected]>
1 parent eff537d commit b1b03bb

File tree

1 file changed

+44
-40
lines changed
  • lib/node_modules/@stdlib/stats/base/nanminabs/lib

1 file changed

+44
-40
lines changed

lib/node_modules/@stdlib/stats/base/nanminabs/lib/accessors.js

Lines changed: 44 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
// MODULES //
2222

23-
var isnan = require('@stdlib/math/base/assert/is-nan');
24-
var abs = require('@stdlib/math/base/special/abs');
23+
var isnan = require( '@stdlib/math/base/assert/is-nan' );
24+
var abs = require( '@stdlib/math/base/special/abs' );
2525

2626
// MAIN //
2727

@@ -38,49 +38,53 @@ var abs = require('@stdlib/math/base/special/abs');
3838
* @returns {Object} output array object
3939
*
4040
* @example
41-
* var data = { data: [ -3, NaN, 2, -1 ], accessors: [ (arr, idx) => arr[idx] ] };
42-
* var minAbs = nanminabs( 4, data, 1, 0 );
43-
* // returns 1
41+
* var x = { data: [ -3.0, NaN, 2.0, -1.0 ], accessors: [ ( arr, i ) => arr[ i ] ] };
42+
* var minAbs = nanminabs( 4, x, 1, 0 );
43+
* // returns 1.0
4444
*/
45-
function nanminabs(N, x, strideX, offsetX) {
46-
var xbuf;
47-
var get;
48-
var min;
49-
var ix;
50-
var v;
51-
var i;
45+
function nanminabs( N, x, strideX, offsetX ) {
46+
var xbuf;
47+
var get;
48+
var min;
49+
var ix;
50+
var v;
51+
var i;
5252

53-
// Cache reference to array data:
54-
xbuf = x.data;
53+
// Cache reference to array data:
54+
xbuf = x.data;
5555

56-
// Cache a reference to the element accessor:
57-
get = x.accessors[0];
56+
// Cache a reference to the element accessor:
57+
get = x.accessors[ 0 ];
5858

59-
if (N === 1 || strideX === 0) {
60-
return get ? abs(get(xbuf, offsetX)) : abs(xbuf[offsetX]);
61-
}
59+
if ( N === 1 || strideX === 0 ) {
60+
return get ? abs( get( xbuf, offsetX ) ) : abs( xbuf[ offsetX ] );
61+
}
6262

63-
ix = offsetX;
64-
for (i = 0; i < N; i++) {
65-
v = get ? get(xbuf, ix) : xbuf[ix];
66-
if (v === v) {
67-
break;
68-
}
69-
ix += strideX;
70-
}
71-
if (i === N) {
72-
return NaN;
73-
}
74-
min = abs(v);
75-
for (i += 1; i < N; i++) {
76-
ix += strideX;
77-
v = get ? get(xbuf, ix) : xbuf[ix];
78-
v = abs(v);
79-
if (!isnan(v) && v < min) {
80-
min = v;
81-
}
82-
}
83-
return min;
63+
ix = offsetX;
64+
for ( i = 0; i < N; i++ ) {
65+
v = get ? get( xbuf, ix ) : xbuf[ ix ];
66+
if ( v === v ) {
67+
break;
68+
}
69+
ix += strideX;
70+
}
71+
if ( i === N ) {
72+
return NaN;
73+
}
74+
min = abs( v );
75+
76+
for ( i += 1; i < N; i++ ) {
77+
ix += strideX;
78+
v = get ? get( xbuf, ix ) : xbuf[ ix ];
79+
v = abs( v );
80+
if ( isnan( v ) ) {
81+
continue;
82+
}
83+
if ( v < min ) {
84+
min = v;
85+
}
86+
}
87+
return min;
8488
}
8589

8690
// EXPORTS //

0 commit comments

Comments
 (0)