diff --git a/lib/node_modules/@stdlib/math/base/special/binomcoeff/test/test.js b/lib/node_modules/@stdlib/math/base/special/binomcoeff/test/test.js index 16e87d20306d..d62ddcfcebfe 100644 --- a/lib/node_modules/@stdlib/math/base/special/binomcoeff/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/binomcoeff/test/test.js @@ -22,8 +22,7 @@ var tape = require( 'tape' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); -var absf = require( '@stdlib/math/base/special/absf' ); -var EPS = require( '@stdlib/constants/float32/eps' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' ); var binomcoeff = require( './../lib' ); @@ -54,8 +53,6 @@ tape( 'the function returns `NaN` if provided `NaN` for any parameter', function tape( 'the function evaluates the binomial coefficient for integers `n` and `k`', function test( t ) { var expected; - var delta; - var tol; var n; var k; var v; @@ -71,11 +68,8 @@ tape( 'the function evaluates the binomial coefficient for integers `n` and `k`' t.strictEqual( v, expected[ i ], 'returns expected value' ); continue; } - delta = absf( v - expected[ i ] ); - // 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. - tol = 1.25 * EPS * absf( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. n: ' + n[ i ] + '. k: ' + k[ i ] + '. actual: ' + v + '. expected: ' + expected[ i ] + '. tol: ' + tol + '. Δ: ' + delta + '.' ); + t.strictEqual( isAlmostSameValue( v, expected[ i ], 2 ), true, 'returns expected value' ); } t.end(); }); @@ -93,7 +87,7 @@ tape( 'the function evaluates the binomial coefficient for integers `n` and `k` for ( i = 0; i < n.length; i++ ) { v = binomcoeff( n[ i ], k[ i ] ); expected[ i ] = float64ToFloat32( expected[ i ] ); - t.strictEqual( v, expected[ i ], 'returns expected value. actual: '+v+'. expected: '+expected[i]+'. n: '+n[i]+'. k: '+k[i]+'.' ); + t.strictEqual( v, expected[ i ], 'returns expected value' ); } t.end(); });