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