2222
2323var tape = require ( 'tape' ) ;
2424var isnanf = require ( '@stdlib/math/base/assert/is-nanf' ) ;
25- var absf = require ( '@stdlib/math/base/special/absf' ) ;
26- var EPS = require ( '@stdlib/constants/float32/eps' ) ;
25+ var isAlmostSameValue = require ( '@stdlib/number/float32/base/assert/is-almost-same-value' ) ;
2726var float64ToFloat32 = require ( '@stdlib/number/float64/base/to-float32' ) ;
2827var binomcoeff = require ( './../lib' ) ;
2928
@@ -54,8 +53,6 @@ tape( 'the function returns `NaN` if provided `NaN` for any parameter', function
5453
5554tape ( 'the function evaluates the binomial coefficient for integers `n` and `k`' , function test ( t ) {
5655 var expected ;
57- var delta ;
58- var tol ;
5956 var n ;
6057 var k ;
6158 var v ;
@@ -67,15 +64,9 @@ tape( 'the function evaluates the binomial coefficient for integers `n` and `k`'
6764 for ( i = 0 ; i < n . length ; i ++ ) {
6865 v = binomcoeff ( n [ i ] , k [ i ] ) ;
6966 expected [ i ] = float64ToFloat32 ( expected [ i ] ) ;
70- if ( expected [ i ] === v ) {
71- t . strictEqual ( v , expected [ i ] , 'returns expected value' ) ;
72- continue ;
73- }
74- delta = absf ( v - expected [ i ] ) ;
7567
7668 // NOTE: Exact comparison fails for large values due to single-precision floating-point rounding errors when intermediate results exceed the maximum safe integer for a 32-bit float.
77- tol = 1.25 * EPS * absf ( expected [ i ] ) ;
78- t . ok ( delta <= tol , 'within tolerance. n: ' + n [ i ] + '. k: ' + k [ i ] + '. actual: ' + v + '. expected: ' + expected [ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ) ;
69+ t . strictEqual ( isAlmostSameValue ( v , expected [ i ] , 2 ) , true , 'returns expected value' ) ;
7970 }
8071 t . end ( ) ;
8172} ) ;
@@ -93,7 +84,7 @@ tape( 'the function evaluates the binomial coefficient for integers `n` and `k`
9384 for ( i = 0 ; i < n . length ; i ++ ) {
9485 v = binomcoeff ( n [ i ] , k [ i ] ) ;
9586 expected [ i ] = float64ToFloat32 ( expected [ i ] ) ;
96- t . strictEqual ( v , expected [ i ] , 'returns expected value. actual: ' + v + '. expected: ' + expected [ i ] + '. n: ' + n [ i ] + '. k: ' + k [ i ] + '. ' ) ;
87+ t . strictEqual ( v , expected [ i ] , 'returns expected value' ) ;
9788 }
9889 t . end ( ) ;
9990} ) ;
0 commit comments