2222
2323var tape = require ( 'tape' ) ;
2424var isnanf = require ( '@stdlib/math/base/assert/is-nanf' ) ;
25- var absf = require ( '@stdlib/math/base/special/absf' ) ;
2625var f32 = require ( '@stdlib/number/float64/base/to-float32' ) ;
26+ var ulpdiff = require ( '@stdlib/number/float32/base/ulp-difference' ) ;
2727var PI = require ( '@stdlib/constants/float32/pi' ) ;
28- var EPS = require ( '@stdlib/constants/float32/eps' ) ;
2928var PINF = require ( '@stdlib/constants/float32/pinf' ) ;
3029var NINF = require ( '@stdlib/constants/float32/ninf' ) ;
3130var isNegativeZerof = require ( '@stdlib/math/base/assert/is-negative-zerof' ) ;
@@ -61,8 +60,6 @@ tape( 'main export is a function', function test( t ) {
6160
6261tape ( 'the function computes the tangent (huge negative values)' , function test ( t ) {
6362 var expected ;
64- var delta ;
65- var tol ;
6663 var x ;
6764 var y ;
6865 var i ;
@@ -74,21 +71,13 @@ tape( 'the function computes the tangent (huge negative values)', function test(
7471 x [ i ] = f32 ( x [ i ] ) ;
7572 expected [ i ] = f32 ( expected [ i ] ) ;
7673 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' ) ;
8475 }
8576 t . end ( ) ;
8677} ) ;
8778
8879tape ( 'the function computes the tangent (huge positive values)' , function test ( t ) {
8980 var expected ;
90- var delta ;
91- var tol ;
9281 var x ;
9382 var y ;
9483 var i ;
@@ -100,21 +89,13 @@ tape( 'the function computes the tangent (huge positive values)', function test(
10089 x [ i ] = f32 ( x [ i ] ) ;
10190 expected [ i ] = f32 ( expected [ i ] ) ;
10291 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' ) ;
11093 }
11194 t . end ( ) ;
11295} ) ;
11396
11497tape ( 'the function computes the tangent (very large positive values)' , function test ( t ) {
11598 var expected ;
116- var delta ;
117- var tol ;
11899 var x ;
119100 var y ;
120101 var i ;
@@ -126,21 +107,13 @@ tape( 'the function computes the tangent (very large positive values)', function
126107 x [ i ] = f32 ( x [ i ] ) ;
127108 expected [ i ] = f32 ( expected [ i ] ) ;
128109 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' ) ;
136111 }
137112 t . end ( ) ;
138113} ) ;
139114
140115tape ( 'the function computes the tangent (very large negative values)' , function test ( t ) {
141116 var expected ;
142- var delta ;
143- var tol ;
144117 var x ;
145118 var y ;
146119 var i ;
@@ -152,21 +125,13 @@ tape( 'the function computes the tangent (very large negative values)', function
152125 x [ i ] = f32 ( x [ i ] ) ;
153126 expected [ i ] = f32 ( expected [ i ] ) ;
154127 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' ) ;
162129 }
163130 t . end ( ) ;
164131} ) ;
165132
166133tape ( 'the function computes the tangent (large positive values)' , function test ( t ) {
167134 var expected ;
168- var delta ;
169- var tol ;
170135 var x ;
171136 var y ;
172137 var i ;
@@ -178,21 +143,13 @@ tape( 'the function computes the tangent (large positive values)', function test
178143 x [ i ] = f32 ( x [ i ] ) ;
179144 expected [ i ] = f32 ( expected [ i ] ) ;
180145 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' ) ;
188147 }
189148 t . end ( ) ;
190149} ) ;
191150
192151tape ( 'the function computes the tangent (large negative values)' , function test ( t ) {
193152 var expected ;
194- var delta ;
195- var tol ;
196153 var x ;
197154 var y ;
198155 var i ;
@@ -204,21 +161,13 @@ tape( 'the function computes the tangent (large negative values)', function test
204161 x [ i ] = f32 ( x [ i ] ) ;
205162 expected [ i ] = f32 ( expected [ i ] ) ;
206163 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' ) ;
214165 }
215166 t . end ( ) ;
216167} ) ;
217168
218169tape ( 'the function computes the tangent (medium positive values)' , function test ( t ) {
219170 var expected ;
220- var delta ;
221- var tol ;
222171 var x ;
223172 var y ;
224173 var i ;
@@ -230,21 +179,13 @@ tape( 'the function computes the tangent (medium positive values)', function tes
230179 x [ i ] = f32 ( x [ i ] ) ;
231180 expected [ i ] = f32 ( expected [ i ] ) ;
232181 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' ) ;
240183 }
241184 t . end ( ) ;
242185} ) ;
243186
244187tape ( 'the function computes the tangent (medium negative values)' , function test ( t ) {
245188 var expected ;
246- var delta ;
247- var tol ;
248189 var x ;
249190 var y ;
250191 var i ;
@@ -256,21 +197,13 @@ tape( 'the function computes the tangent (medium negative values)', function tes
256197 x [ i ] = f32 ( x [ i ] ) ;
257198 expected [ i ] = f32 ( expected [ i ] ) ;
258199 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' ) ;
266201 }
267202 t . end ( ) ;
268203} ) ;
269204
270205tape ( 'the function computes the tangent (small positive values)' , function test ( t ) {
271206 var expected ;
272- var delta ;
273- var tol ;
274207 var x ;
275208 var y ;
276209 var i ;
@@ -282,21 +215,13 @@ tape( 'the function computes the tangent (small positive values)', function test
282215 x [ i ] = f32 ( x [ i ] ) ;
283216 expected [ i ] = f32 ( expected [ i ] ) ;
284217 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' ) ;
292219 }
293220 t . end ( ) ;
294221} ) ;
295222
296223tape ( 'the function computes the tangent (small negative values)' , function test ( t ) {
297224 var expected ;
298- var delta ;
299- var tol ;
300225 var x ;
301226 var y ;
302227 var i ;
@@ -308,21 +233,13 @@ tape( 'the function computes the tangent (small negative values)', function test
308233 x [ i ] = f32 ( x [ i ] ) ;
309234 expected [ i ] = f32 ( expected [ i ] ) ;
310235 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' ) ;
318237 }
319238 t . end ( ) ;
320239} ) ;
321240
322241tape ( 'the function computes the tangent (smaller values)' , function test ( t ) {
323242 var expected ;
324- var delta ;
325- var tol ;
326243 var x ;
327244 var y ;
328245 var i ;
@@ -334,21 +251,13 @@ tape( 'the function computes the tangent (smaller values)', function test( t ) {
334251 x [ i ] = f32 ( x [ i ] ) ;
335252 expected [ i ] = f32 ( expected [ i ] ) ;
336253 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' ) ;
344255 }
345256 t . end ( ) ;
346257} ) ;
347258
348259tape ( 'the function computes the tangent (tiny positive values)' , function test ( t ) {
349260 var expected ;
350- var delta ;
351- var tol ;
352261 var x ;
353262 var y ;
354263 var i ;
@@ -360,21 +269,13 @@ tape( 'the function computes the tangent (tiny positive values)', function test(
360269 x [ i ] = f32 ( x [ i ] ) ;
361270 expected [ i ] = f32 ( expected [ i ] ) ;
362271 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' ) ;
370273 }
371274 t . end ( ) ;
372275} ) ;
373276
374277tape ( 'the function computes the tangent (tiny negative values)' , function test ( t ) {
375278 var expected ;
376- var delta ;
377- var tol ;
378279 var x ;
379280 var y ;
380281 var i ;
@@ -386,21 +287,13 @@ tape( 'the function computes the tangent (tiny negative values)', function test(
386287 x [ i ] = f32 ( x [ i ] ) ;
387288 expected [ i ] = f32 ( expected [ i ] ) ;
388289 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' ) ;
396291 }
397292 t . end ( ) ;
398293} ) ;
399294
400295tape ( 'the function computes the tangent (subnormal values)' , function test ( t ) {
401296 var expected ;
402- var delta ;
403- var tol ;
404297 var x ;
405298 var y ;
406299 var i ;
@@ -412,13 +305,7 @@ tape( 'the function computes the tangent (subnormal values)', function test( t )
412305 x [ i ] = f32 ( x [ i ] ) ;
413306 expected [ i ] = f32 ( expected [ i ] ) ;
414307 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' ) ;
422309 }
423310
424311 t . end ( ) ;
0 commit comments