@@ -24,7 +24,9 @@ var tape = require( 'tape' );
2424var isnan = require ( '@stdlib/math/base/assert/is-nan' ) ;
2525var toAccessorArray = require ( '@stdlib/array/base/to-accessor-array' ) ;
2626var isNegativeZero = require ( '@stdlib/math/base/assert/is-negative-zero' ) ;
27- var nanmskmin = require ( './../lib/ndarray.js' ) ;
27+ var Float64Array = require ( '@stdlib/array/float64' ) ;
28+ var Uint8Array = require ( '@stdlib/array/uint8' ) ;
29+ var nanmskmin = require ( './../lib/nanmskmin.js' ) ;
2830
2931
3032// TESTS //
@@ -47,52 +49,52 @@ tape( 'the function calculates the minimum value of a strided array according to
4749
4850 x = [ 1.0 , - 2.0 , - 4.0 , NaN , 5.0 , 0.0 , 3.0 ] ;
4951 mask = [ 0 , 0 , 0 , 1 , 0 , 0 , 0 ] ;
50- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
52+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
5153 t . strictEqual ( v , - 4.0 , 'returns expected value' ) ;
5254
5355 x = [ - 4.0 , NaN , - 5.0 ] ;
5456 mask = [ 0 , 1 , 0 ] ;
55- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
57+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
5658 t . strictEqual ( v , - 5.0 , 'returns expected value' ) ;
5759
5860 x = [ 0.0 , - 0.0 , NaN , 0.0 ] ;
5961 mask = [ 0 , 0 , 1 , 0 ] ;
60- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
62+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
6163 t . strictEqual ( isNegativeZero ( v ) , true , 'returns expected value' ) ;
6264
6365 x = [ - 4.0 , 0.0 , NaN , 5.0 ] ;
6466 mask = [ 0 , 0 , 2 , 0 ] ;
65- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
67+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
6668 t . strictEqual ( v , - 4.0 , 'returns expected value' ) ;
6769
6870 x = [ NaN ] ;
6971 mask = [ 0 ] ;
70- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
72+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
7173 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
7274
7375 x = [ NaN ] ;
7476 mask = [ 1 ] ;
75- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
77+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
7678 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
7779
7880 x = [ NaN , NaN ] ;
7981 mask = [ 1 , 1 ] ;
80- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
82+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
8183 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
8284
8385 x = [ NaN , NaN ] ;
8486 mask = [ 1 , 0 ] ;
85- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
87+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
8688 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
8789
8890 x = [ NaN , NaN ] ;
8991 mask = [ 0 , 1 ] ;
90- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
92+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
9193 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
9294
9395 x = [ NaN , NaN ] ;
9496 mask = [ 0 , 0 ] ;
95- v = nanmskmin ( x . length , x , 1 , 0 , mask , 1 , 0 ) ;
97+ v = nanmskmin ( x . length , x , 1 , mask , 1 ) ;
9698 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
9799
98100 t . end ( ) ;
@@ -106,61 +108,61 @@ tape( 'the function calculates the minimum value of a strided array according to
106108 // Test case 1: Mixed values with NaN and masking
107109 x = [ 1.0 , - 2.0 , - 4.0 , NaN , 5.0 , 0.0 , 3.0 ] ;
108110 mask = [ 0 , 0 , 0 , 1 , 0 , 0 , 0 ] ;
109- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
111+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 ) ;
110112 t . strictEqual ( v , - 4.0 , 'returns expected value' ) ;
111113
112114 // Test case 2: NaN is masked out
113115 x = [ - 4.0 , NaN , - 5.0 ] ;
114116 mask = [ 0 , 1 , 0 ] ;
115- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
117+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 ) ;
116118 t . strictEqual ( v , - 5.0 , 'returns expected value' ) ;
117119
118120 // Test case 3: Handling -0.0 and 0.0
119121 x = [ - 0.0 , 0.0 , NaN , - 0.0 ] ;
120122 mask = [ 0 , 0 , 1 , 0 ] ;
121- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
123+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 , ) ;
122124 t . strictEqual ( isNegativeZero ( v ) , true , 'returns expected value' ) ;
123125
124126 // Test case 4: NaN is not masked out
125127 x = [ - 4.0 , 0.0 , NaN , 5.0 ] ;
126128 mask = [ 0 , 0 , 0 , 0 ] ;
127- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
129+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 , ) ;
128130 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
129131
130132 // Test case 5: Single NaN element, not masked out
131133 x = [ NaN ] ;
132134 mask = [ 0 ] ;
133- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
135+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 , ) ;
134136 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
135137
136138 // Test case 6: Single NaN element, masked out
137139 x = [ NaN ] ;
138140 mask = [ 1 ] ;
139- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
141+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 , ) ;
140142 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
141143
142144 // Test case 7: All elements are NaN and masked out
143145 x = [ NaN , NaN ] ;
144146 mask = [ 1 , 1 ] ;
145- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
147+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 , ) ;
146148 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
147149
148150 // Test case 8: First element is NaN and masked out, second is NaN and not masked out
149151 x = [ NaN , NaN ] ;
150152 mask = [ 1 , 0 ] ;
151- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
153+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 , ) ;
152154 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
153155
154156 // Test case 9: First element is NaN and not masked out, second is NaN and masked out
155157 x = [ NaN , NaN ] ;
156158 mask = [ 0 , 1 ] ;
157- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
159+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 , ) ;
158160 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
159161
160162 // Test case 10: All elements are NaN and not masked out
161163 x = [ NaN , NaN ] ;
162164 mask = [ 0 , 0 ] ;
163- v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , 0 , toAccessorArray ( mask ) , 1 , 0 ) ;
165+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 1 , toAccessorArray ( mask ) , 1 , ) ;
164166 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
165167
166168 t . end ( ) ;
@@ -174,10 +176,10 @@ tape( 'if provided an `N` parameter less than or equal to `0`, the function retu
174176 x = [ 1.0 , - 2.0 , - 4.0 , 5.0 , 3.0 ] ;
175177 mask = [ 0.0 , 0.0 ] ;
176178
177- v = nanmskmin ( 0 , x , 1 , 0 , mask , 1 , 0 ) ;
179+ v = nanmskmin ( 0 , x , 1 , mask , 1 , ) ;
178180 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
179181
180- v = nanmskmin ( - 1 , x , 1 , 0 , mask , 1 ) ;
182+ v = nanmskmin ( - 1 , x , 1 , mask , 1 ) ;
181183 t . strictEqual ( isnan ( v ) , true , 'returns expected value' ) ;
182184
183185 t . end ( ) ;
@@ -191,7 +193,7 @@ tape( 'if provided an `N` parameter equal to `1`, the function returns the first
191193 x = [ 1.0 , - 2.0 , - 4.0 , 5.0 , 3.0 ] ;
192194 mask = [ 0.0 , 0.0 ] ;
193195
194- v = nanmskmin ( 1 , x , 1 , 0 , mask , 1 , 0 ) ;
196+ v = nanmskmin ( 1 , x , 1 , mask , 1 , ) ;
195197 t . strictEqual ( v , 1.0 , 'returns expected value' ) ;
196198
197199 t . end ( ) ;
@@ -267,7 +269,7 @@ tape( 'the function supports `stride` parameters (accessor)', function test( t )
267269 1
268270 ] ;
269271
270- v = nanmskmin ( x . length , toAccessorArray ( x ) , 2 , 0 , toAccessorArray ( mask ) , 2 , 0 ) ;
272+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 2 , toAccessorArray ( mask ) , 2 ) ;
271273
272274 t . strictEqual ( v , - 2.0 , 'returns expected value' ) ;
273275 t . end ( ) ;
@@ -343,7 +345,7 @@ tape( 'the function supports negative `stride` parameters (accessor)', function
343345 0
344346 ] ;
345347
346- v = nanmskmin ( x . length , toAccessorArray ( x ) , - 2 , 8 , toAccessorArray ( mask ) , - 2 , 8 ) ;
348+ v = nanmskmin ( x . length , toAccessorArray ( x ) , - 2 , toAccessorArray ( mask ) , - 2 ) ;
347349
348350 t . strictEqual ( v , - 2.0 , 'returns expected value' ) ;
349351 t . end ( ) ;
@@ -433,7 +435,7 @@ tape( 'the function supports view offsets (accessor)', function test( t ) {
433435 x = new Float64Array ( x0 . buffer , x0 . BYTES_PER_ELEMENT * 1 ) ; // start at 2nd element
434436 mask1 = new Uint8Array ( mask0 . buffer , mask0 . BYTES_PER_ELEMENT * 1 ) ; // start at 2nd element
435437
436- v = nanmskmin ( 5 , toAccessorArray ( x ) , 2 , toAccessorArray ( mask1 ) , 2 ) ;
438+ v = nanmskmin ( x . length , toAccessorArray ( x ) , 2 , toAccessorArray ( mask1 ) , 2 ) ;
437439 t . strictEqual ( v , - 2.0 , 'returns expected value' ) ;
438440
439441 t . end ( ) ;
0 commit comments