Skip to content

Commit 044a04d

Browse files
authored
Update nanmskmin.js
Signed-off-by: Kaushikgtm <[email protected]>
1 parent 7f0473a commit 044a04d

File tree

1 file changed

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

1 file changed

+5
-50
lines changed

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

Lines changed: 5 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* @license Apache-2.0
33
*
4-
* Copyright (c) 2020 The Stdlib Authors.
4+
* Copyright (c) 2025 The Stdlib Authors.
55
*
66
* Licensed under the Apache License, Version 2.0 (the "License");
77
* you may not use this file except in compliance with the License.
@@ -20,8 +20,8 @@
2020

2121
// MODULES //
2222

23-
var isnan = require( '@stdlib/math/base/assert/is-nan' );
24-
var isNegativeZero = require( '@stdlib/math/base/assert/is-negative-zero' );
23+
var stride2offset = require( '@stdlib/strided/base/stride2offset' );
24+
var ndarray = require( './ndarray.js' );
2525

2626

2727
// MAIN //
@@ -44,53 +44,8 @@ var isNegativeZero = require( '@stdlib/math/base/assert/is-negative-zero' );
4444
* // returns -2.0
4545
*/
4646
function nanmskmin( N, x, strideX, mask, strideMask ) {
47-
var min;
48-
var ix;
49-
var im;
50-
var v;
51-
var i;
52-
53-
if ( N <= 0 ) {
54-
return NaN;
55-
}
56-
if ( strideX < 0 ) {
57-
ix = (1-N) * strideX;
58-
} else {
59-
ix = 0;
60-
}
61-
if ( strideMask < 0 ) {
62-
im = (1-N) * strideMask;
63-
} else {
64-
im = 0;
65-
}
66-
for ( i = 0; i < N; i++ ) {
67-
v = x[ ix ];
68-
if ( v === v && mask[ im ] === 0 ) {
69-
break;
70-
}
71-
ix += strideX;
72-
im += strideMask;
73-
}
74-
if ( i === N ) {
75-
return NaN;
76-
}
77-
min = v;
78-
i += 1;
79-
for ( i; i < N; i++ ) {
80-
ix += strideX;
81-
im += strideMask;
82-
if ( mask[ im ] ) {
83-
continue;
84-
}
85-
v = x[ ix ];
86-
if ( isnan( v ) ) {
87-
continue;
88-
}
89-
if ( v < min || ( v === min && isNegativeZero( v ) ) ) {
90-
min = v;
91-
}
92-
}
93-
return min;
47+
48+
return ndarray(N, x, strideX, stride2offset( N, strideX ), mask, stride2offset( N, strideMask ) );
9449
}
9550

9651

0 commit comments

Comments
 (0)