2020
2121// MODULES //
2222
23- var tape = require ( 'tape' ) ;
24- var Float64Array = require ( '@stdlib/array/float64' ) ;
25- var dnanasum = require ( './../lib/dnanasum.js' ) ;
23+ var tape = require ( 'tape' ) ;
24+ var Float64Array = require ( '@stdlib/array/float64' ) ;
25+ var dnanasum = require ( './../lib/dnanasum.js' ) ;
2626
2727
2828// TESTS //
2929
30- tape ( 'main export is a function' , function test ( t ) {
31- t . ok ( true , __filename ) ;
32- t . strictEqual ( typeof dnanasum , 'function' , 'main export is a function' ) ;
30+ tape ( 'main export is a function' , function test ( t ) {
31+ t . ok ( true , __filename ) ;
32+ t . strictEqual ( typeof dnanasum , 'function' , 'main export is a function' ) ;
3333 t . end ( ) ;
3434} ) ;
3535
36- tape ( 'the function has an arity of 3' , function test ( t ) {
37- t . strictEqual ( dnanasum . length , 3 , 'returns expected value' ) ;
36+ tape ( 'the function has an arity of 3' , function test ( t ) {
37+ t . strictEqual ( dnanasum . length , 3 , 'returns expected value' ) ;
3838 t . end ( ) ;
3939} ) ;
4040
41- tape ( 'the function calculates the sum of absolute values (ignoring NaN values)' , function test ( t ) {
41+ tape ( 'the function calculates the sum of absolute values (ignoring NaN values)' , function test ( t ) {
4242 var x ;
4343 var v ;
4444
45- x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , 5.0 , 0.0 , NaN , 3.0 , 0.0 , - 3.0 , 3.0 , NaN ] ) ; // eslint-disable-line max-len
46- v = dnanasum ( x . length , x , 1 ) ;
47- t . strictEqual ( v , 21.0 , 'returns expected value' ) ;
45+ x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , 5.0 , 0.0 , NaN , 3.0 , 0.0 , - 3.0 , 3.0 , NaN ] ) ; // eslint-disable-line max-len
46+ v = dnanasum ( x . length , x , 1 ) ;
47+ t . strictEqual ( v , 21.0 , 'returns expected value' ) ;
4848
49- x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , NaN , 5.0 , 0.0 , 3.0 , NaN ] ) ;
50- v = dnanasum ( x . length , x , 1 ) ;
51- t . strictEqual ( v , 15.0 , 'returns expected value' ) ;
49+ x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , NaN , 5.0 , 0.0 , 3.0 , NaN ] ) ;
50+ v = dnanasum ( x . length , x , 1 ) ;
51+ t . strictEqual ( v , 15.0 , 'returns expected value' ) ;
5252
53- x = new Float64Array ( [ - 4.0 , NaN , - 4.0 ] ) ;
54- v = dnanasum ( x . length , x , 1 ) ;
55- t . strictEqual ( v , 8.0 , 'returns expected value' ) ;
53+ x = new Float64Array ( [ - 4.0 , NaN , - 4.0 ] ) ;
54+ v = dnanasum ( x . length , x , 1 ) ;
55+ t . strictEqual ( v , 8.0 , 'returns expected value' ) ;
5656
57- x = new Float64Array ( [ NaN , 4.0 ] ) ;
58- v = dnanasum ( x . length , x , 1 ) ;
59- t . strictEqual ( v , 4.0 , 'returns expected value' ) ;
57+ x = new Float64Array ( [ NaN , 4.0 ] ) ;
58+ v = dnanasum ( x . length , x , 1 ) ;
59+ t . strictEqual ( v , 4.0 , 'returns expected value' ) ;
6060
61- x = new Float64Array ( [ NaN , NaN ] ) ;
62- v = dnanasum ( x . length , x , 1 ) ;
63- t . strictEqual ( v , 0.0 , 'returns expected value' ) ;
61+ x = new Float64Array ( [ NaN , NaN ] ) ;
62+ v = dnanasum ( x . length , x , 1 ) ;
63+ t . strictEqual ( v , 0.0 , 'returns expected value' ) ;
6464
65- x = new Float64Array ( [ NaN ] ) ;
66- v = dnanasum ( x . length , x , 1 ) ;
67- t . strictEqual ( v , 0.0 , 'returns expected value' ) ;
65+ x = new Float64Array ( [ NaN ] ) ;
66+ v = dnanasum ( x . length , x , 1 ) ;
67+ t . strictEqual ( v , 0.0 , 'returns expected value' ) ;
6868
69- x = new Float64Array ( [ 4.0 ] ) ;
70- v = dnanasum ( x . length , x , 1 ) ;
71- t . strictEqual ( v , 4.0 , 'returns expected value' ) ;
69+ x = new Float64Array ( [ 4.0 ] ) ;
70+ v = dnanasum ( x . length , x , 1 ) ;
71+ t . strictEqual ( v , 4.0 , 'returns expected value' ) ;
7272
73- x = new Float64Array ( [ 1.0 , 1.0e100 , 1.0 , - 1.0e100 ] ) ;
74- v = dnanasum ( x . length , x , 1 ) ;
75- t . strictEqual ( v , 2.0e100 , 'returns expected value' ) ;
73+ x = new Float64Array ( [ 1.0 , 1.0e100 , 1.0 , - 1.0e100 ] ) ;
74+ v = dnanasum ( x . length , x , 1 ) ;
75+ t . strictEqual ( v , 2.0e100 , 'returns expected value' ) ;
7676
7777 t . end ( ) ;
7878} ) ;
7979
80- tape ( 'if provided an `N` parameter less than or equal to `0`, the function returns `0.0`' , function test ( t ) {
80+ tape ( 'if provided an `N` parameter less than or equal to `0`, the function returns `0.0`' , function test ( t ) {
8181 var x ;
8282 var v ;
8383
84- x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , 5.0 , 3.0 ] ) ;
84+ x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , 5.0 , 3.0 ] ) ;
8585
86- v = dnanasum ( 0 , x , 1 ) ;
87- t . strictEqual ( v , 0.0 , 'returns expected value' ) ;
86+ v = dnanasum ( 0 , x , 1 ) ;
87+ t . strictEqual ( v , 0.0 , 'returns expected value' ) ;
8888
89- v = dnanasum ( - 1 , x , 1 ) ;
90- t . strictEqual ( v , 0.0 , 'returns expected value' ) ;
89+ v = dnanasum ( - 1 , x , 1 ) ;
90+ t . strictEqual ( v , 0.0 , 'returns expected value' ) ;
9191
9292 t . end ( ) ;
9393} ) ;
9494
95- tape ( 'if provided an `N` parameter equal to `1`, the function returns the first element' , function test ( t ) {
95+ tape ( 'if provided an `N` parameter equal to `1`, the function returns the first element' , function test ( t ) {
9696 var x ;
9797 var v ;
9898
99- x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , 5.0 , 3.0 ] ) ;
99+ x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , 5.0 , 3.0 ] ) ;
100100
101- v = dnanasum ( 1 , x , 1 ) ;
102- t . strictEqual ( v , 1.0 , 'returns expected value' ) ;
101+ v = dnanasum ( 1 , x , 1 ) ;
102+ t . strictEqual ( v , 1.0 , 'returns expected value' ) ;
103103
104104 t . end ( ) ;
105105} ) ;
106106
107- tape ( 'the function supports a `stride` parameter' , function test ( t ) {
107+ tape ( 'the function supports a `stride` parameter' , function test ( t ) {
108108 var x ;
109109 var v ;
110110
@@ -121,13 +121,13 @@ tape( 'the function supports a `stride` parameter', function test( t ) {
121121 NaN
122122 ] ) ;
123123
124- v = dnanasum ( 5 , x , 2 ) ;
124+ v = dnanasum ( 5 , x , 2 ) ;
125125
126- t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
126+ t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
127127 t . end ( ) ;
128128} ) ;
129129
130- tape ( 'the function supports a negative `stride` parameter' , function test ( t ) {
130+ tape ( 'the function supports a negative `stride` parameter' , function test ( t ) {
131131 var x ;
132132 var v ;
133133
@@ -144,25 +144,30 @@ tape( 'the function supports a negative `stride` parameter', function test( t )
144144 2.0
145145 ] ) ;
146146
147- v = dnanasum ( 5 , x , - 2 ) ;
147+ v = dnanasum ( 5 , x , - 2 ) ;
148148
149- t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
149+ t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
150150 t . end ( ) ;
151151} ) ;
152152
153- tape ( 'if provided a `stride` parameter equal to `0`, the function returns the sum of the first element repeated N times' , function test ( t ) {
153+ tape ( 'if provided a `stride` parameter equal to `0`, the function returns the sum of the first element repeated N times' , function test ( t ) {
154154 var x ;
155155 var v ;
156156
157- x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , 5.0 , 3.0 ] ) ;
157+ x = new Float64Array ( [ 1.0 , - 2.0 , - 4.0 , 5.0 , 3.0 ] ) ;
158+
159+ v = dnanasum ( x . length , x , 0 ) ;
160+ t . strictEqual ( v , 5.0 , 'returns expected value' ) ;
161+
162+ x = new Float64Array ( [ 7.0 , - 2.0 , NaN , 3.0 , 5.0 ] ) ;
163+ v = dnanasum ( x . length , x , 0 ) ;
164+ t . strictEqual ( v , 7.0 , 'returns expected value' ) ;
158165
159- v = dnanasum ( x . length , x , 0 ) ;
160- t . strictEqual ( v , 5.0 , 'returns expected value' ) ;
161166
162167 t . end ( ) ;
163168} ) ;
164169
165- tape ( 'the function supports view offsets' , function test ( t ) {
170+ tape ( 'the function supports view offsets' , function test ( t ) {
166171 var x0 ;
167172 var x1 ;
168173 var v ;
@@ -181,10 +186,10 @@ tape( 'the function supports view offsets', function test( t ) {
181186 NaN
182187 ] ) ;
183188
184- x1 = new Float64Array ( x0 . buffer , x0 . BYTES_PER_ELEMENT * 1 ) ; // start at 2nd element
189+ x1 = new Float64Array ( x0 . buffer , x0 . BYTES_PER_ELEMENT * 1 ) ; // start at 2nd element
185190
186- v = dnanasum ( 5 , x1 , 2 ) ;
187- t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
191+ v = dnanasum ( 5 , x1 , 2 ) ;
192+ t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
188193
189194 t . end ( ) ;
190195} ) ;
0 commit comments