Skip to content

Commit 940d885

Browse files
authored
Update nanmskmin.js
Signed-off-by: Kaushikgtm <[email protected]>
1 parent 97c5fa2 commit 940d885

File tree

1 file changed

+5
-58
lines changed
  • lib/node_modules/@stdlib/stats/base/nanmskmin/lib

1 file changed

+5
-58
lines changed

lib/node_modules/@stdlib/stats/base/nanmskmin/lib/nanmskmin.js

Lines changed: 5 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -46,64 +46,11 @@ var accessors = require( './accessors.js' );
4646
* var v = nanmskmin( x.length, x, 1, mask, 1 );
4747
* // returns -2.0
4848
*/
49-
function nanmskmin(N, x, strideX, offsetX, mask, strideMask, offsetMask) {
50-
var min;
51-
var ix;
52-
var im;
53-
var v;
54-
var i;
55-
56-
if (N <= 0) {
57-
return NaN;
58-
}
59-
60-
// Convert to accessor-aware object
61-
var ox = arraylike2object( x );
62-
var om = arraylike2object( mask );
63-
64-
// Use accessor function if needed
65-
if (ox.accessorProtocol || om.accessorProtocol) {
66-
return accessors(N, ox, strideX, offsetX, om, strideMask, offsetMask);
67-
}
68-
69-
if ( strideX < 0 ) {
70-
ix = (1-N) * strideX;
71-
} else {
72-
ix = 0;
73-
}
74-
if ( strideMask < 0 ) {
75-
im = (1-N) * strideMask;
76-
} else {
77-
im = 0;
78-
}
79-
for ( i = 0; i < N; i++ ) {
80-
v = x[ ix ];
81-
if ( v === v && mask[ im ] === 0 ) {
82-
break;
83-
}
84-
ix += strideX;
85-
im += strideMask;
86-
}
87-
if ( i === N ) {
88-
return NaN;
89-
}
90-
min = v;
91-
i += 1;
92-
for ( i; i < N; i++ ) {
93-
ix += strideX;
94-
im += strideMask;
95-
if ( mask[ im ] ) {
96-
continue;
97-
}
98-
v = x[ ix ];
99-
if ( isnan( v ) ) {
100-
continue;
101-
}
102-
if ( v < min || ( v === min && isNegativeZero( v ) ) ) {
103-
min = v;
104-
}
105-
}
106-
return min;
49+
function nanmskmin( N, x, strideX, mask, strideMask ) {
50+
51+
var p = stride2offset( N, strideX );
52+
var q = stride2offset( N, strideMask );
53+
return ndarray(N, x, strideX, p, mask, q );
10754
}
10855

10956

0 commit comments

Comments
 (0)