22
22
23
23
var tape = require ( 'tape' ) ;
24
24
var isnan = require ( '@stdlib/math/base/assert/is-nan' ) ;
25
- var abs = require ( '@stdlib/math/ base/special/abs ' ) ;
25
+ var ulpdiff = require ( '@stdlib/number/float64/ base/ulp-difference ' ) ;
26
26
var PI = require ( '@stdlib/constants/float64/pi' ) ;
27
- var EPS = require ( '@stdlib/constants/float64/eps' ) ;
28
27
var PINF = require ( '@stdlib/constants/float64/pinf' ) ;
29
28
var NINF = require ( '@stdlib/constants/float64/ninf' ) ;
30
29
var isNegativeZero = require ( '@stdlib/assert/is-negative-zero' ) ;
@@ -60,8 +59,6 @@ tape( 'main export is a function', function test( t ) {
60
59
61
60
tape ( 'the function computes the tangent (huge negative values)' , function test ( t ) {
62
61
var expected ;
63
- var delta ;
64
- var tol ;
65
62
var x ;
66
63
var y ;
67
64
var i ;
@@ -71,21 +68,13 @@ tape( 'the function computes the tangent (huge negative values)', function test(
71
68
72
69
for ( i = 0 ; i < x . length ; i ++ ) {
73
70
y = tan ( x [ i ] ) ;
74
- if ( y === expected [ i ] ) {
75
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
76
- } else {
77
- delta = abs ( y - expected [ i ] ) ;
78
- tol = EPS * abs ( expected [ i ] ) ;
79
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
80
- }
71
+ t . strictEqual ( ulpdiff ( y , expected [ i ] ) <= 1 , true , 'returns expected value' ) ;
81
72
}
82
73
t . end ( ) ;
83
74
} ) ;
84
75
85
76
tape ( 'the function computes the tangent (huge positive values)' , function test ( t ) {
86
77
var expected ;
87
- var delta ;
88
- var tol ;
89
78
var x ;
90
79
var y ;
91
80
var i ;
@@ -95,21 +84,13 @@ tape( 'the function computes the tangent (huge positive values)', function test(
95
84
96
85
for ( i = 0 ; i < x . length ; i ++ ) {
97
86
y = tan ( x [ i ] ) ;
98
- if ( y === expected [ i ] ) {
99
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
100
- } else {
101
- delta = abs ( y - expected [ i ] ) ;
102
- tol = EPS * abs ( expected [ i ] ) ;
103
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
104
- }
87
+ t . strictEqual ( ulpdiff ( y , expected [ i ] ) <= 1 , true , 'returns expected value' ) ;
105
88
}
106
89
t . end ( ) ;
107
90
} ) ;
108
91
109
92
tape ( 'the function computes the tangent (very large positive values)' , function test ( t ) {
110
93
var expected ;
111
- var delta ;
112
- var tol ;
113
94
var x ;
114
95
var y ;
115
96
var i ;
@@ -119,21 +100,13 @@ tape( 'the function computes the tangent (very large positive values)', function
119
100
120
101
for ( i = 0 ; i < x . length ; i ++ ) {
121
102
y = tan ( x [ i ] ) ;
122
- if ( y === expected [ i ] ) {
123
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
124
- } else {
125
- delta = abs ( y - expected [ i ] ) ;
126
- tol = EPS * abs ( expected [ i ] ) ;
127
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
128
- }
103
+ t . strictEqual ( ulpdiff ( y , expected [ i ] ) <= 1 , true , 'returns expected value' ) ;
129
104
}
130
105
t . end ( ) ;
131
106
} ) ;
132
107
133
108
tape ( 'the function computes the tangent (very large negative values)' , function test ( t ) {
134
109
var expected ;
135
- var delta ;
136
- var tol ;
137
110
var x ;
138
111
var y ;
139
112
var i ;
@@ -143,21 +116,13 @@ tape( 'the function computes the tangent (very large negative values)', function
143
116
144
117
for ( i = 0 ; i < x . length ; i ++ ) {
145
118
y = tan ( x [ i ] ) ;
146
- if ( y === expected [ i ] ) {
147
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
148
- } else {
149
- delta = abs ( y - expected [ i ] ) ;
150
- tol = EPS * abs ( expected [ i ] ) ;
151
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
152
- }
119
+ t . strictEqual ( ulpdiff ( y , expected [ i ] ) <= 1 , true , 'returns expected value' ) ;
153
120
}
154
121
t . end ( ) ;
155
122
} ) ;
156
123
157
124
tape ( 'the function computes the tangent (large positive values)' , function test ( t ) {
158
125
var expected ;
159
- var delta ;
160
- var tol ;
161
126
var x ;
162
127
var y ;
163
128
var i ;
@@ -167,21 +132,13 @@ tape( 'the function computes the tangent (large positive values)', function test
167
132
168
133
for ( i = 0 ; i < x . length ; i ++ ) {
169
134
y = tan ( x [ i ] ) ;
170
- if ( y === expected [ i ] ) {
171
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
172
- } else {
173
- delta = abs ( y - expected [ i ] ) ;
174
- tol = EPS * abs ( expected [ i ] ) ;
175
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
176
- }
135
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
177
136
}
178
137
t . end ( ) ;
179
138
} ) ;
180
139
181
140
tape ( 'the function computes the tangent (large negative values)' , function test ( t ) {
182
141
var expected ;
183
- var delta ;
184
- var tol ;
185
142
var x ;
186
143
var y ;
187
144
var i ;
@@ -191,21 +148,13 @@ tape( 'the function computes the tangent (large negative values)', function test
191
148
192
149
for ( i = 0 ; i < x . length ; i ++ ) {
193
150
y = tan ( x [ i ] ) ;
194
- if ( y === expected [ i ] ) {
195
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
196
- } else {
197
- delta = abs ( y - expected [ i ] ) ;
198
- tol = EPS * abs ( expected [ i ] ) ;
199
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
200
- }
151
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
201
152
}
202
153
t . end ( ) ;
203
154
} ) ;
204
155
205
156
tape ( 'the function computes the tangent (medium positive values)' , function test ( t ) {
206
157
var expected ;
207
- var delta ;
208
- var tol ;
209
158
var x ;
210
159
var y ;
211
160
var i ;
@@ -215,21 +164,13 @@ tape( 'the function computes the tangent (medium positive values)', function tes
215
164
216
165
for ( i = 0 ; i < x . length ; i ++ ) {
217
166
y = tan ( x [ i ] ) ;
218
- if ( y === expected [ i ] ) {
219
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
220
- } else {
221
- delta = abs ( y - expected [ i ] ) ;
222
- tol = EPS * abs ( expected [ i ] ) ;
223
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
224
- }
167
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
225
168
}
226
169
t . end ( ) ;
227
170
} ) ;
228
171
229
172
tape ( 'the function computes the tangent (medium negative values)' , function test ( t ) {
230
173
var expected ;
231
- var delta ;
232
- var tol ;
233
174
var x ;
234
175
var y ;
235
176
var i ;
@@ -239,21 +180,13 @@ tape( 'the function computes the tangent (medium negative values)', function tes
239
180
240
181
for ( i = 0 ; i < x . length ; i ++ ) {
241
182
y = tan ( x [ i ] ) ;
242
- if ( y === expected [ i ] ) {
243
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
244
- } else {
245
- delta = abs ( y - expected [ i ] ) ;
246
- tol = EPS * abs ( expected [ i ] ) ;
247
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
248
- }
183
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
249
184
}
250
185
t . end ( ) ;
251
186
} ) ;
252
187
253
188
tape ( 'the function computes the tangent (small positive values)' , function test ( t ) {
254
189
var expected ;
255
- var delta ;
256
- var tol ;
257
190
var x ;
258
191
var y ;
259
192
var i ;
@@ -263,21 +196,13 @@ tape( 'the function computes the tangent (small positive values)', function test
263
196
264
197
for ( i = 0 ; i < x . length ; i ++ ) {
265
198
y = tan ( x [ i ] ) ;
266
- if ( y === expected [ i ] ) {
267
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
268
- } else {
269
- delta = abs ( y - expected [ i ] ) ;
270
- tol = EPS * abs ( expected [ i ] ) ;
271
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
272
- }
199
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
273
200
}
274
201
t . end ( ) ;
275
202
} ) ;
276
203
277
204
tape ( 'the function computes the tangent (small negative values)' , function test ( t ) {
278
205
var expected ;
279
- var delta ;
280
- var tol ;
281
206
var x ;
282
207
var y ;
283
208
var i ;
@@ -287,21 +212,13 @@ tape( 'the function computes the tangent (small negative values)', function test
287
212
288
213
for ( i = 0 ; i < x . length ; i ++ ) {
289
214
y = tan ( x [ i ] ) ;
290
- if ( y === expected [ i ] ) {
291
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
292
- } else {
293
- delta = abs ( y - expected [ i ] ) ;
294
- tol = EPS * abs ( expected [ i ] ) ;
295
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
296
- }
215
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
297
216
}
298
217
t . end ( ) ;
299
218
} ) ;
300
219
301
220
tape ( 'the function computes the tangent (smaller values)' , function test ( t ) {
302
221
var expected ;
303
- var delta ;
304
- var tol ;
305
222
var x ;
306
223
var y ;
307
224
var i ;
@@ -311,21 +228,13 @@ tape( 'the function computes the tangent (smaller values)', function test( t ) {
311
228
312
229
for ( i = 0 ; i < x . length ; i ++ ) {
313
230
y = tan ( x [ i ] ) ;
314
- if ( y === expected [ i ] ) {
315
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
316
- } else {
317
- delta = abs ( y - expected [ i ] ) ;
318
- tol = EPS * abs ( expected [ i ] ) ;
319
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
320
- }
231
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
321
232
}
322
233
t . end ( ) ;
323
234
} ) ;
324
235
325
236
tape ( 'the function computes the tangent (tiny positive values)' , function test ( t ) {
326
237
var expected ;
327
- var delta ;
328
- var tol ;
329
238
var x ;
330
239
var y ;
331
240
var i ;
@@ -335,21 +244,13 @@ tape( 'the function computes the tangent (tiny positive values)', function test(
335
244
336
245
for ( i = 0 ; i < x . length ; i ++ ) {
337
246
y = tan ( x [ i ] ) ;
338
- if ( y === expected [ i ] ) {
339
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
340
- } else {
341
- delta = abs ( y - expected [ i ] ) ;
342
- tol = EPS * abs ( expected [ i ] ) ;
343
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
344
- }
247
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
345
248
}
346
249
t . end ( ) ;
347
250
} ) ;
348
251
349
252
tape ( 'the function computes the tangent (tiny negative values)' , function test ( t ) {
350
253
var expected ;
351
- var delta ;
352
- var tol ;
353
254
var x ;
354
255
var y ;
355
256
var i ;
@@ -359,21 +260,13 @@ tape( 'the function computes the tangent (tiny negative values)', function test(
359
260
360
261
for ( i = 0 ; i < x . length ; i ++ ) {
361
262
y = tan ( x [ i ] ) ;
362
- if ( y === expected [ i ] ) {
363
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
364
- } else {
365
- delta = abs ( y - expected [ i ] ) ;
366
- tol = EPS * abs ( expected [ i ] ) ;
367
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
368
- }
263
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
369
264
}
370
265
t . end ( ) ;
371
266
} ) ;
372
267
373
268
tape ( 'the function computes the tangent (subnormal values)' , function test ( t ) {
374
269
var expected ;
375
- var delta ;
376
- var tol ;
377
270
var x ;
378
271
var y ;
379
272
var i ;
@@ -383,22 +276,14 @@ tape( 'the function computes the tangent (subnormal values)', function test( t )
383
276
384
277
for ( i = 0 ; i < x . length ; i ++ ) {
385
278
y = tan ( x [ i ] ) ;
386
- if ( y === expected [ i ] ) {
387
- t . strictEqual ( y , expected [ i ] , 'x: ' + x [ i ] + '. E: ' + expected [ i ] ) ;
388
- } else {
389
- delta = abs ( y - expected [ i ] ) ;
390
- tol = EPS * abs ( expected [ i ] ) ;
391
- t . ok ( delta <= tol , 'within tolerance. x: ' + x [ i ] + '. y: ' + y + '. E: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
392
- }
279
+ t . strictEqual ( y , expected [ i ] , 'returns expected value' ) ;
393
280
}
394
281
395
282
t . end ( ) ;
396
283
} ) ;
397
284
398
285
tape ( 'if provided a multiple of `-pi/2`, the function does not return `-infinity`' , function test ( t ) {
399
286
var expected ;
400
- var delta ;
401
- var tol ;
402
287
var x ;
403
288
var v ;
404
289
@@ -407,17 +292,12 @@ tape( 'if provided a multiple of `-pi/2`, the function does not return `-infinit
407
292
v = tan ( x ) ;
408
293
expected = - 1.633123935319537e16 ;
409
294
410
- delta = abs ( v - expected ) ;
411
- tol = EPS * abs ( expected ) ;
412
-
413
- t . ok ( delta <= tol , 'within tolerance. x: ' + x + '. v: ' + v + '. E: ' + expected + '. Δ: ' + delta + '. tol: ' + tol + '.' ) ;
295
+ t . strictEqual ( v , expected , 'returns expected value' ) ;
414
296
t . end ( ) ;
415
297
} ) ;
416
298
417
299
tape ( 'if provided a multiple of `pi/2`, the function does not return `+infinity`' , function test ( t ) {
418
300
var expected ;
419
- var delta ;
420
- var tol ;
421
301
var x ;
422
302
var v ;
423
303
@@ -426,10 +306,7 @@ tape( 'if provided a multiple of `pi/2`, the function does not return `+infinity
426
306
v = tan ( x ) ;
427
307
expected = 1.633123935319537e16 ;
428
308
429
- delta = abs ( v - expected ) ;
430
- tol = EPS * abs ( expected ) ;
431
-
432
- t . ok ( delta <= tol , 'within tolerance. x: ' + x + '. v: ' + v + '. E: ' + expected + '. Δ: ' + delta + '. tol: ' + tol + '.' ) ;
309
+ t . strictEqual ( v , expected , 'returns expected value' ) ;
433
310
t . end ( ) ;
434
311
} ) ;
435
312
0 commit comments