From c3b5341c1ef64ec86e4e1e5026a1c027de9add71 Mon Sep 17 00:00:00 2001 From: Ujjwal Verma Date: Thu, 30 Jul 2026 20:34:22 +0530 Subject: [PATCH 1/2] test: migrate \math/base/special/truncn\ to ULP-based testing --- .../@stdlib/math/base/special/truncn/test/test.js | 9 ++------- .../@stdlib/math/base/special/truncn/test/test.native.js | 9 ++------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/truncn/test/test.js b/lib/node_modules/@stdlib/math/base/special/truncn/test/test.js index 6a42f2fef182..d1d61d9347c9 100644 --- a/lib/node_modules/@stdlib/math/base/special/truncn/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/truncn/test/test.js @@ -21,6 +21,7 @@ // MODULES // var tape = require( 'tape' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PI = require( '@stdlib/constants/float64/pi' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); @@ -236,13 +237,7 @@ tape( 'the function supports rounding very small numbers (including subnormals)' for ( i = 0; i < n.length; i++ ) { v = truncn( x, n[i] ); - if ( v === expected[i] ) { - t.strictEqual( v, expected[ i ], 'returns '+expected[i]+' when provided x='+x+' and n='+n[i]+'.' ); - } else { - delta = abs( v - expected[i] ); - tol = EPS * abs( expected[i] ); - t.strictEqual( delta <= tol, true, 'x: '+x+'. n: '+n[i]+'. v: '+v+'. expected: '+expected[i]+'. delta: '+delta+'. tol: '+tol ); - } + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/truncn/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/truncn/test/test.native.js index 82ec5a8dd13f..de30db9a4545 100644 --- a/lib/node_modules/@stdlib/math/base/special/truncn/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/truncn/test/test.native.js @@ -22,6 +22,7 @@ var resolve = require( 'path' ).resolve; var tape = require( 'tape' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PI = require( '@stdlib/constants/float64/pi' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); @@ -226,13 +227,7 @@ tape( 'the function supports rounding very small numbers (including subnormals)' for ( i = 0; i < n.length; i++ ) { v = truncn( x, n[i] ); - if ( v === expected[i] ) { - t.strictEqual( v, expected[ i ], 'returns '+expected[i]+' when provided x='+x+' and n='+n[i]+'.' ); - } else { - delta = abs( v - expected[i] ); - tol = EPS * abs( expected[i] ); - t.strictEqual( delta <= tol, true, 'x: '+x+'. n: '+n[i]+'. v: '+v+'. expected: '+expected[i]+'. delta: '+delta+'. tol: '+tol ); - } + t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' ); } t.end(); }); From 635ff82eb7ec0905726e252a87fb25bbc7726783 Mon Sep 17 00:00:00 2001 From: Ujjwal Verma Date: Thu, 30 Jul 2026 20:43:21 +0530 Subject: [PATCH 2/2] style: remove unused variables in tests --- .../@stdlib/math/base/special/truncn/test/test.js | 4 ---- .../@stdlib/math/base/special/truncn/test/test.native.js | 4 ---- 2 files changed, 8 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/truncn/test/test.js b/lib/node_modules/@stdlib/math/base/special/truncn/test/test.js index d1d61d9347c9..c961e2f5972e 100644 --- a/lib/node_modules/@stdlib/math/base/special/truncn/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/truncn/test/test.js @@ -25,11 +25,9 @@ var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PI = require( '@stdlib/constants/float64/pi' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); -var EPS = require( '@stdlib/constants/float64/eps' ); var randu = require( '@stdlib/random/base/randu' ); var round = require( '@stdlib/math/base/special/round' ); var pow = require( '@stdlib/math/base/special/pow' ); -var abs = require( '@stdlib/math/base/special/abs' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var isNegativeZero = require( '@stdlib/math/base/assert/is-negative-zero' ); var isPositiveZero = require( '@stdlib/math/base/assert/is-positive-zero' ); @@ -202,8 +200,6 @@ tape( 'if `n > 308` and `x > 0`, the function returns `+0`', function test( t ) tape( 'the function supports rounding very small numbers (including subnormals)', function test( t ) { var expected; - var delta; - var tol; var x; var n; var v; diff --git a/lib/node_modules/@stdlib/math/base/special/truncn/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/truncn/test/test.native.js index de30db9a4545..5c2e053d421c 100644 --- a/lib/node_modules/@stdlib/math/base/special/truncn/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/truncn/test/test.native.js @@ -26,11 +26,9 @@ var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PI = require( '@stdlib/constants/float64/pi' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); -var EPS = require( '@stdlib/constants/float64/eps' ); var randu = require( '@stdlib/random/base/randu' ); var round = require( '@stdlib/math/base/special/round' ); var pow = require( '@stdlib/math/base/special/pow' ); -var abs = require( '@stdlib/math/base/special/abs' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var isNegativeZero = require( '@stdlib/math/base/assert/is-negative-zero' ); var isPositiveZero = require( '@stdlib/math/base/assert/is-positive-zero' ); @@ -192,8 +190,6 @@ tape( 'if `n > 308` and `x > 0`, the function returns `+0`', opts, function test tape( 'the function supports rounding very small numbers (including subnormals)', opts, function test( t ) { var expected; - var delta; - var tol; var x; var n; var v;