Skip to content

Commit 9c887ff

Browse files
authored
Update test.ndarray.js
Signed-off-by: Kaushikgtm <162317291+Kaushikgtm@users.noreply.github.com>
1 parent f99d8d4 commit 9c887ff

File tree

1 file changed

+59
-1
lines changed

1 file changed

+59
-1
lines changed

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

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
// MODULES //
2222

2323
var tape = require( 'tape' );
24-
var floor = require( '@stdlib/math/base/special/floor' );
2524
var isnan = require( '@stdlib/math/base/assert/is-nan' );
25+
var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
2626
var isNegativeZero = require( '@stdlib/math/base/assert/is-negative-zero' );
2727
var nanmskmin = require( './../lib/ndarray.js' );
2828

@@ -98,6 +98,64 @@ tape( 'the function calculates the minimum value of a strided array according to
9898
t.end();
9999
});
100100

101+
tape( 'the function calculates the minimum value of a strided array according to a mask (accessor)', function test( t ) {
102+
var mask;
103+
var x;
104+
var v;
105+
106+
x = [ 1.0, -2.0, -4.0, NaN, 5.0, 0.0, 3.0 ];
107+
mask = [ 0, 0, 0, 1, 0, 0, 0 ];
108+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
109+
t.strictEqual( v, -4.0, 'returns expected value' );
110+
111+
x = [ -4.0, NaN, -5.0 ];
112+
mask = [ 0, 1, 0 ];
113+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
114+
t.strictEqual( v, -5.0, 'returns expected value' );
115+
116+
x = [ -0.0, 0.0, NaN, -0.0 ];
117+
mask = [ 0, 0, 1, 0 ];
118+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
119+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
120+
121+
x = [ -4.0, 0.0, NaN, 5.0 ];
122+
mask = [ 0, 0, 0, 0 ];
123+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
124+
t.strictEqual( isnan( v ), true, 'returns expected value' );
125+
126+
x = [ NaN ];
127+
mask = [ 0 ];
128+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
129+
t.strictEqual( isnan( v ), true, 'returns expected value' );
130+
131+
x = [ NaN ];
132+
mask = [ 1 ];
133+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
134+
t.strictEqual( isnan( v ), true, 'returns expected value' );
135+
136+
x = [ NaN, NaN ];
137+
mask = [ 1, 1 ];
138+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
139+
t.strictEqual( isnan( v ), true, 'returns expected value' );
140+
141+
x = [ NaN, NaN ];
142+
mask = [ 1, 0 ];
143+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
144+
t.strictEqual( isnan( v ), true, 'returns expected value' );
145+
146+
x = [ NaN, NaN ];
147+
mask = [ 0, 1 ];
148+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
149+
t.strictEqual( isnan( v ), true, 'returns expected value' );
150+
151+
x = [ NaN, NaN ];
152+
mask = [ 0, 0 ];
153+
v = nanmskmin( x.length, toAccessorArray( x ), 1, 0, toAccessorArray( mask ), 1, 0 );
154+
t.strictEqual( isnan( v ), true, 'returns expected value' );
155+
156+
t.end();
157+
});
158+
101159
tape( 'if provided an `N` parameter less than or equal to `0`, the function returns `NaN`', function test( t ) {
102160
var mask;
103161
var x;

0 commit comments

Comments
 (0)