From f2d092036a266f128a0851ed72d8ff56f6697b35 Mon Sep 17 00:00:00 2001 From: yb175 Date: Mon, 28 Sep 2026 11:05:45 +0000 Subject: [PATCH] test: migrate exponential mgf tests to ULP assertions --- .../exponential/mgf/test/test.factory.js | 33 +++---------------- .../dists/exponential/mgf/test/test.mgf.js | 33 +++---------------- .../dists/exponential/mgf/test/test.native.js | 33 +++---------------- 3 files changed, 12 insertions(+), 87 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.factory.js index 87cc3e380e34..33069b54fc5f 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.factory.js @@ -22,10 +22,9 @@ var tape = require( 'tape' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var abs = require( '@stdlib/math/base/special/abs' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); -var EPS = require( '@stdlib/constants/float64/eps' ); var factory = require( './../lib/factory.js' ); @@ -127,9 +126,7 @@ tape( 'the created function returns `NaN` for `x >= lambda`', function test( t ) tape( 'the created function evaluates the mgf for `x` given small `lambda` values', function test( t ) { var expected; var lambda; - var delta; var mgf; - var tol; var x; var y; var i; @@ -140,13 +137,7 @@ tape( 'the created function evaluates the mgf for `x` given small `lambda` value for ( i = 0; i < x.length; i++ ) { mgf = factory( lambda[i] ); y = mgf( x[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. expected: '+expected[i] ); - } else { - delta = abs( y - expected[i] ); - tol = 100.0 * EPS * abs( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( y, expected[ i ], 49 ), true, 'returns expected value' ); } t.end(); }); @@ -154,9 +145,7 @@ tape( 'the created function evaluates the mgf for `x` given small `lambda` value tape( 'the created function evaluates the mgf for `x` given medium `lambda` values', function test( t ) { var expected; var lambda; - var delta; var mgf; - var tol; var x; var y; var i; @@ -167,13 +156,7 @@ tape( 'the created function evaluates the mgf for `x` given medium `lambda` valu for ( i = 0; i < x.length; i++ ) { mgf = factory( lambda[i] ); y = mgf( x[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i] ); - } else { - delta = abs( y - expected[i] ); - tol = 250.0 * EPS * abs( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( y, expected[ i ], 362 ), true, 'returns expected value' ); } t.end(); }); @@ -181,9 +164,7 @@ tape( 'the created function evaluates the mgf for `x` given medium `lambda` valu tape( 'the created function evaluates the mgf for `x` given large `lambda` values', function test( t ) { var expected; var lambda; - var delta; var mgf; - var tol; var x; var y; var i; @@ -194,13 +175,7 @@ tape( 'the created function evaluates the mgf for `x` given large `lambda` value for ( i = 0; i < x.length; i++ ) { mgf = factory( lambda[i] ); y = mgf( x[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i] ); - } else { - delta = abs( y - expected[i] ); - tol = 250.0 * EPS * abs( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( y, expected[ i ], 212 ), true, 'returns expected value' ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.mgf.js b/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.mgf.js index d75c51e0d382..670b9264cb6a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.mgf.js +++ b/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.mgf.js @@ -22,10 +22,9 @@ var tape = require( 'tape' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var abs = require( '@stdlib/math/base/special/abs' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); -var EPS = require( '@stdlib/constants/float64/eps' ); var mgf = require( './../lib' ); @@ -106,8 +105,6 @@ tape( 'the function returns `NaN` for `x >= lambda`', function test( t ) { tape( 'the function evaluates the mgf for `x` given small `lambda` values', function test( t ) { var expected; var lambda; - var delta; - var tol; var x; var y; var i; @@ -117,13 +114,7 @@ tape( 'the function evaluates the mgf for `x` given small `lambda` values', func lambda = small.lambda; for ( i = 0; i < x.length; i++ ) { y = mgf( x[i], lambda[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i] ); - } else { - delta = abs( y - expected[i] ); - tol = 100.0 * EPS * abs( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( y, expected[ i ], 49 ), true, 'returns expected value' ); } t.end(); }); @@ -131,8 +122,6 @@ tape( 'the function evaluates the mgf for `x` given small `lambda` values', func tape( 'the function evaluates the mgf for `x` given medium `lambda` values', function test( t ) { var expected; var lambda; - var delta; - var tol; var x; var y; var i; @@ -142,13 +131,7 @@ tape( 'the function evaluates the mgf for `x` given medium `lambda` values', fun lambda = medium.lambda; for ( i = 0; i < x.length; i++ ) { y = mgf( x[i], lambda[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i] ); - } else { - delta = abs( y - expected[i] ); - tol = 250.0 * EPS * abs( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( y, expected[ i ], 362 ), true, 'returns expected value' ); } t.end(); }); @@ -156,8 +139,6 @@ tape( 'the function evaluates the mgf for `x` given medium `lambda` values', fun tape( 'the function evaluates the mgf for `x` given large `lambda` values', function test( t ) { var expected; var lambda; - var delta; - var tol; var x; var y; var i; @@ -167,13 +148,7 @@ tape( 'the function evaluates the mgf for `x` given large `lambda` values', func lambda = large.lambda; for ( i = 0; i < x.length; i++ ) { y = mgf( x[i], lambda[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i] ); - } else { - delta = abs( y - expected[i] ); - tol = 250.0 * EPS * abs( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( y, expected[ i ], 212 ), true, 'returns expected value' ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.native.js index 3bc3be281c98..c7a9b03e6876 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/exponential/mgf/test/test.native.js @@ -24,10 +24,9 @@ var resolve = require( 'path' ).resolve; var tape = require( 'tape' ); var tryRequire = require( '@stdlib/utils/try-require' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var abs = require( '@stdlib/math/base/special/abs' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); -var EPS = require( '@stdlib/constants/float64/eps' ); // FIXTURES // @@ -115,8 +114,6 @@ tape( 'the function returns `NaN` for `x >= lambda`', opts, function test( t ) { tape( 'the function evaluates the mgf for `x` given small `lambda` values', opts, function test( t ) { var expected; var lambda; - var delta; - var tol; var x; var y; var i; @@ -126,13 +123,7 @@ tape( 'the function evaluates the mgf for `x` given small `lambda` values', opts lambda = small.lambda; for ( i = 0; i < x.length; i++ ) { y = mgf( x[i], lambda[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i] ); - } else { - delta = abs( y - expected[i] ); - tol = 100.0 * EPS * abs( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( y, expected[ i ], 49 ), true, 'returns expected value' ); } t.end(); }); @@ -140,8 +131,6 @@ tape( 'the function evaluates the mgf for `x` given small `lambda` values', opts tape( 'the function evaluates the mgf for `x` given medium `lambda` values', opts, function test( t ) { var expected; var lambda; - var delta; - var tol; var x; var y; var i; @@ -151,13 +140,7 @@ tape( 'the function evaluates the mgf for `x` given medium `lambda` values', opt lambda = medium.lambda; for ( i = 0; i < x.length; i++ ) { y = mgf( x[i], lambda[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i] ); - } else { - delta = abs( y - expected[i] ); - tol = 250.0 * EPS * abs( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( y, expected[ i ], 362 ), true, 'returns expected value' ); } t.end(); }); @@ -165,8 +148,6 @@ tape( 'the function evaluates the mgf for `x` given medium `lambda` values', opt tape( 'the function evaluates the mgf for `x` given large `lambda` values', opts, function test( t ) { var expected; var lambda; - var delta; - var tol; var x; var y; var i; @@ -176,13 +157,7 @@ tape( 'the function evaluates the mgf for `x` given large `lambda` values', opts lambda = large.lambda; for ( i = 0; i < x.length; i++ ) { y = mgf( x[i], lambda[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i] ); - } else { - delta = abs( y - expected[i] ); - tol = 250.0 * EPS * abs( expected[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. λ: '+lambda[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( y, expected[ i ], 212 ), true, 'returns expected value' ); } t.end(); });