From bbc722852f468dcd0bec7e5f45cff004b72e5514 Mon Sep 17 00:00:00 2001 From: MANDEep22332 Date: Wed, 22 Apr 2026 04:32:21 +0000 Subject: [PATCH 1/3] ulp-based test for the betainc --- .../math/base/special/betainc/test/test.js | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/betainc/test/test.js b/lib/node_modules/@stdlib/math/base/special/betainc/test/test.js index b839f64be596..9018865e3318 100644 --- a/lib/node_modules/@stdlib/math/base/special/betainc/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/betainc/test/test.js @@ -23,7 +23,7 @@ var tape = require( 'tape' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); var abs = require( '@stdlib/math/base/special/abs' ); -var EPS = require( '@stdlib/constants/float64/eps' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var betainc = require( './../lib' ); @@ -71,20 +71,20 @@ tape( 'the function returns `NaN` negative `a` or `b`', function test( t ) { tape( 'the function evaluates the lower regularized incomplete beta function', function test( t ) { var expected; - var delta; - var tol; var i; var y; expected = lowerRegularized; for ( i = 0; i < x.length; i++ ) { y = betainc( x[i], a[i], b[i] ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+', y: '+y+'. a: '+a[i]+'. b: '+b[i]+', expected: '+expected[i] ); + if ( isnan( expected[ i ] ) ) { + t.strictEqual( isnan( y ), true, 'returns expected value' ); + } else if ( expected[ i ] === 0.0 ) { + t.strictEqual( y, 0.0, 'returns expected value' ); + } else if ( abs( expected[ i ] ) < 1e-300 ) { + t.ok( abs( y ) < 1e-300, 'returns expected value' ); } else { - delta = abs( y - expected[ i ] ); - tol = 50.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. a: '+a[i]+'. b: '+b[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol ); + t.strictEqual(isAlmostSameValue( y, expected[ i ], 120 ), true, 'returns expected value'); } } t.end(); @@ -92,20 +92,20 @@ tape( 'the function evaluates the lower regularized incomplete beta function', f tape( 'the function evaluates the lower unregularized incomplete beta function', function test( t ) { var expected; - var delta; - var tol; var i; var y; expected = lowerUnregularized; for ( i = 0; i < x.length; i++ ) { y = betainc( x[i], a[i], b[i], false ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+', y: '+y+'. a: '+a[i]+'. b: '+b[i]+', expected: '+expected[i] ); + if ( isnan( expected[ i ] ) ) { + t.strictEqual( isnan( y ), true, 'returns expected value' ); + } else if ( abs( expected[ i ] ) < 1e-300 ) { + t.ok( abs( y ) < 1e-300, 'returns expected value' ); + } else if ( expected[ i ] === Infinity || expected[ i ] === -Infinity ) { + t.strictEqual( y, expected[ i ], 'returns expected value' ); } else { - delta = abs( y - expected[ i ] ); - tol = 80.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. a: '+a[i]+'. b: '+b[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol ); + t.strictEqual(isAlmostSameValue( y, expected[ i ], 128 ), true, 'returns expected value'); } } t.end(); @@ -113,20 +113,20 @@ tape( 'the function evaluates the lower unregularized incomplete beta function', tape( 'the function evaluates the upper regularized incomplete beta function', function test( t ) { var expected; - var delta; - var tol; var i; var y; expected = upperRegularized; for ( i = 0; i < x.length; i++ ) { y = betainc( x[i], a[i], b[i], true, true ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+', y: '+y+'. a: '+a[i]+'. b: '+b[i]+', expected: '+expected[i] ); + if ( isnan( expected[ i ] ) ) { + t.strictEqual( isnan( y ), true, 'returns expected value' ); + } else if ( abs( expected[ i ] ) < 1e-300 ) { + t.ok( abs( y ) < 1e-300, 'returns expected value' ); + } else if ( expected[ i ] === Infinity || expected[ i ] === -Infinity ) { + t.strictEqual( y, expected[ i ], 'returns expected value' ); } else { - delta = abs( y - expected[ i ] ); - tol = 50.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. a: '+a[i]+'. b: '+b[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol ); + t.strictEqual(isAlmostSameValue( y, expected[ i ], 80 ), true, 'returns expected value'); } } t.end(); @@ -134,20 +134,20 @@ tape( 'the function evaluates the upper regularized incomplete beta function', f tape( 'the function evaluates the upper unregularized incomplete beta function', function test( t ) { var expected; - var delta; - var tol; var i; var y; expected = upperUnregularized; for ( i = 0; i < x.length; i++ ) { y = betainc( x[i], a[i], b[i], false, true ); - if ( y === expected[i] ) { - t.strictEqual( y, expected[i], 'x: '+x[i]+', y: '+y+'. a: '+a[i]+'. b: '+b[i]+', expected: '+expected[i] ); + if ( isnan( expected[ i ] ) ) { + t.strictEqual( isnan( y ), true, 'returns expected value' ); + } else if ( abs( expected[ i ] ) < 1e-300 ) { + t.ok( abs( y ) < 1e-300, 'returns expected value' ); + } else if ( expected[ i ] === Infinity || expected[ i ] === -Infinity ) { + t.strictEqual( y, expected[ i ], 'returns expected value' ); } else { - delta = abs( y - expected[ i ] ); - tol = 80.0 * EPS * abs( expected[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. a: '+a[i]+'. b: '+b[i]+'. y: '+y+'. E: '+expected[i]+'. Δ: '+delta+'. tol: '+tol ); + t.strictEqual(isAlmostSameValue( y, expected[ i ], 120 ), true, 'returns expected value'); } } t.end(); From bba279b4782da57f25089cf8ec3161b4b38bc6b7 Mon Sep 17 00:00:00 2001 From: MANDEep22332 Date: Wed, 22 Apr 2026 04:43:55 +0000 Subject: [PATCH 2/3] chore: trigger CI From 879456ac01e8730afcfdc20dea2a50f774705e2e Mon Sep 17 00:00:00 2001 From: MANDEep22332 Date: Wed, 22 Apr 2026 04:44:39 +0000 Subject: [PATCH 3/3] chore: trigger CI --- .../math/base/special/betainc/test/test.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/betainc/test/test.js b/lib/node_modules/@stdlib/math/base/special/betainc/test/test.js index 9018865e3318..c6723d7ee167 100644 --- a/lib/node_modules/@stdlib/math/base/special/betainc/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/betainc/test/test.js @@ -102,7 +102,10 @@ tape( 'the function evaluates the lower unregularized incomplete beta function', t.strictEqual( isnan( y ), true, 'returns expected value' ); } else if ( abs( expected[ i ] ) < 1e-300 ) { t.ok( abs( y ) < 1e-300, 'returns expected value' ); - } else if ( expected[ i ] === Infinity || expected[ i ] === -Infinity ) { + } else if ( + expected[ i ] === Infinity || + expected[ i ] === -Infinity + ) { t.strictEqual( y, expected[ i ], 'returns expected value' ); } else { t.strictEqual(isAlmostSameValue( y, expected[ i ], 128 ), true, 'returns expected value'); @@ -123,7 +126,10 @@ tape( 'the function evaluates the upper regularized incomplete beta function', f t.strictEqual( isnan( y ), true, 'returns expected value' ); } else if ( abs( expected[ i ] ) < 1e-300 ) { t.ok( abs( y ) < 1e-300, 'returns expected value' ); - } else if ( expected[ i ] === Infinity || expected[ i ] === -Infinity ) { + } else if ( + expected[ i ] === Infinity || + expected[ i ] === -Infinity + ) { t.strictEqual( y, expected[ i ], 'returns expected value' ); } else { t.strictEqual(isAlmostSameValue( y, expected[ i ], 80 ), true, 'returns expected value'); @@ -144,7 +150,10 @@ tape( 'the function evaluates the upper unregularized incomplete beta function', t.strictEqual( isnan( y ), true, 'returns expected value' ); } else if ( abs( expected[ i ] ) < 1e-300 ) { t.ok( abs( y ) < 1e-300, 'returns expected value' ); - } else if ( expected[ i ] === Infinity || expected[ i ] === -Infinity ) { + } else if ( + expected[ i ] === Infinity || + expected[ i ] === -Infinity + ) { t.strictEqual( y, expected[ i ], 'returns expected value' ); } else { t.strictEqual(isAlmostSameValue( y, expected[ i ], 120 ), true, 'returns expected value');