20
20
21
21
// MODULES //
22
22
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' ) ;
26
26
27
27
28
28
// TESTS //
29
29
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' ) ;
33
33
t . end ( ) ;
34
34
} ) ;
35
35
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' ) ;
38
38
t . end ( ) ;
39
39
} ) ;
40
40
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 ) {
42
42
var x ;
43
43
var v ;
44
44
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' ) ;
48
48
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' ) ;
52
52
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' ) ;
56
56
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' ) ;
60
60
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' ) ;
64
64
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' ) ;
68
68
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' ) ;
72
72
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' ) ;
76
76
77
77
t . end ( ) ;
78
78
} ) ;
79
79
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 ) {
81
81
var x ;
82
82
var v ;
83
83
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 ] ) ;
85
85
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' ) ;
88
88
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' ) ;
91
91
92
92
t . end ( ) ;
93
93
} ) ;
94
94
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 ) {
96
96
var x ;
97
97
var v ;
98
98
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 ] ) ;
100
100
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' ) ;
103
103
104
104
t . end ( ) ;
105
105
} ) ;
106
106
107
- tape ( 'the function supports a `stride` parameter' , function test ( t ) {
107
+ tape ( 'the function supports a `stride` parameter' , function test ( t ) {
108
108
var x ;
109
109
var v ;
110
110
@@ -121,13 +121,13 @@ tape( 'the function supports a `stride` parameter', function test( t ) {
121
121
NaN
122
122
] ) ;
123
123
124
- v = dnanasum ( 5 , x , 2 ) ;
124
+ v = dnanasum ( 5 , x , 2 ) ;
125
125
126
- t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
126
+ t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
127
127
t . end ( ) ;
128
128
} ) ;
129
129
130
- tape ( 'the function supports a negative `stride` parameter' , function test ( t ) {
130
+ tape ( 'the function supports a negative `stride` parameter' , function test ( t ) {
131
131
var x ;
132
132
var v ;
133
133
@@ -144,25 +144,30 @@ tape( 'the function supports a negative `stride` parameter', function test( t )
144
144
2.0
145
145
] ) ;
146
146
147
- v = dnanasum ( 5 , x , - 2 ) ;
147
+ v = dnanasum ( 5 , x , - 2 ) ;
148
148
149
- t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
149
+ t . strictEqual ( v , 9.0 , 'returns expected value' ) ;
150
150
t . end ( ) ;
151
151
} ) ;
152
152
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 ) {
154
154
var x ;
155
155
var v ;
156
156
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' ) ;
158
165
159
- v = dnanasum ( x . length , x , 0 ) ;
160
- t . strictEqual ( v , 5.0 , 'returns expected value' ) ;
161
166
162
167
t . end ( ) ;
163
168
} ) ;
164
169
165
- tape ( 'the function supports view offsets' , function test ( t ) {
170
+ tape ( 'the function supports view offsets' , function test ( t ) {
166
171
var x0 ;
167
172
var x1 ;
168
173
var v ;
@@ -181,10 +186,10 @@ tape( 'the function supports view offsets', function test( t ) {
181
186
NaN
182
187
] ) ;
183
188
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
185
190
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' ) ;
188
193
189
194
t . end ( ) ;
190
195
} ) ;
0 commit comments