diff --git a/lib/node_modules/@stdlib/math/base/special/factorial2f/test/test.js b/lib/node_modules/@stdlib/math/base/special/factorial2f/test/test.js index 7a771934da50..ba13cf5433ff 100644 --- a/lib/node_modules/@stdlib/math/base/special/factorial2f/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/factorial2f/test/test.js @@ -22,11 +22,10 @@ var tape = require( 'tape' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); -var absf = require( '@stdlib/math/base/special/absf' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); var incrspace = require( '@stdlib/array/base/incrspace' ); var PINF = require( '@stdlib/constants/float32/pinf' ); var NINF = require( '@stdlib/constants/float32/ninf' ); -var EPS = require( '@stdlib/constants/float32/eps' ); var factorial2f = require( './../lib' ); @@ -76,8 +75,6 @@ tape( 'if provided `NaN`, the function returns `NaN`', function test( t ) { tape( 'the function evaluates the double factorial', function test( t ) { var expected; - var delta; - var tol; var x; var v; var i; @@ -87,15 +84,9 @@ tape( 'the function evaluates the double factorial', function test( t ) { for ( i = 0; i < x.length; i++ ) { v = factorial2f( x[ i ] ); - if ( v === expected[ i ] ) { - t.strictEqual( v, expected[ i ], 'returns expected value' ); - } else { - delta = absf( v - expected[i] ); - - // NOTE: We use approximate equality because expected values from SciPy are computed using gamma function approximations instead of iterative single-precision computation. - tol = 2.4 * EPS * absf( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. v: '+v+'. e: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + + // NOTE: We use approximate equality because expected values from SciPy are computed using gamma function approximations instead of iterative single-precision computation. + t.strictEqual( isAlmostSameValue( v, expected[ i ], 3 ), true, 'returns expected value' ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/factorial2f/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/factorial2f/test/test.native.js index fc173c469b2d..ef537ae09a98 100644 --- a/lib/node_modules/@stdlib/math/base/special/factorial2f/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/factorial2f/test/test.native.js @@ -23,11 +23,10 @@ var resolve = require( 'path' ).resolve; var tape = require( 'tape' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); -var absf = require( '@stdlib/math/base/special/absf' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); var incrspace = require( '@stdlib/array/base/incrspace' ); var PINF = require( '@stdlib/constants/float32/pinf' ); var NINF = require( '@stdlib/constants/float32/ninf' ); -var EPS = require( '@stdlib/constants/float32/eps' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -85,8 +84,6 @@ tape( 'if provided `NaN`, the function returns `NaN`', opts, function test( t ) tape( 'the function evaluates the double factorial', opts, function test( t ) { var expected; - var delta; - var tol; var x; var v; var i; @@ -96,15 +93,9 @@ tape( 'the function evaluates the double factorial', opts, function test( t ) { for ( i = 0; i < x.length; i++ ) { v = factorial2f( x[ i ] ); - if ( v === expected[ i ] ) { - t.strictEqual( v, expected[ i ], 'returns expected value' ); - } else { - delta = absf( v - expected[i] ); - - // NOTE: We use approximate equality because expected values from SciPy are computed using gamma function approximations instead of iterative single-precision computation. - tol = 2.4 * EPS * absf( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. v: '+v+'. e: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + + // NOTE: We use approximate equality because expected values from SciPy are computed using gamma function approximations instead of iterative single-precision computation. + t.strictEqual( isAlmostSameValue( v, expected[ i ], 3 ), true, 'returns expected value' ); } t.end(); });