Skip to content

Commit eb4bbaf

Browse files
committed
test: migrate stats/base/dists/gamma/mode to ULP-based assertions
Replaces the relative tolerance assertions in `test/test.js` and `test/test.native.js` with `@stdlib/assert/is-almost-same-value`, using the minimum required ULP value (1) as measured over the full fixture set. Ref: #11352 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X3J3Zzc2TfxMUXXuybyiwu
1 parent fd5bfb4 commit eb4bbaf

2 files changed

Lines changed: 4 additions & 22 deletions

File tree

‎lib/node_modules/@stdlib/stats/base/dists/gamma/mode/test/test.js‎

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,10 @@
2121
// MODULES //
2222

2323
var tape = require( 'tape' );
24-
var abs = require( '@stdlib/math/base/special/abs' );
24+
var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var PINF = require( '@stdlib/constants/float64/pinf' );
2727
var NINF = require( '@stdlib/constants/float64/ninf' );
28-
var EPS = require( '@stdlib/constants/float64/eps' );
2928
var mode = require( './../lib' );
3029

3130

@@ -96,10 +95,8 @@ tape( 'if provided `beta <= 0`, the function returns `NaN`', function test( t )
9695

9796
tape( 'the function returns the mode of a gamma distribution', function test( t ) {
9897
var expected;
99-
var delta;
10098
var alpha;
10199
var beta;
102-
var tol;
103100
var i;
104101
var y;
105102

@@ -108,13 +105,7 @@ tape( 'the function returns the mode of a gamma distribution', function test( t
108105
beta = data.beta;
109106
for ( i = 0; i < expected.length; i++ ) {
110107
y = mode( alpha[i], beta[i] );
111-
if ( y === expected[i] ) {
112-
t.strictEqual( y, expected[i], 'alpha: '+alpha[i]+', beta: '+beta[i]+', y: '+y+', expected: '+expected[i] );
113-
} else {
114-
delta = abs( y - expected[ i ] );
115-
tol = 2.0 * EPS * abs( expected[ i ] );
116-
t.ok( delta <= tol, 'within tolerance. alpha: '+alpha[i]+'. beta: '+beta[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' );
117-
}
108+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
118109
}
119110
t.end();
120111
});

‎lib/node_modules/@stdlib/stats/base/dists/gamma/mode/test/test.native.js‎

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,11 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var tape = require( 'tape' );
25+
var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' );
2526
var tryRequire = require( '@stdlib/utils/try-require' );
26-
var abs = require( '@stdlib/math/base/special/abs' );
2727
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2828
var PINF = require( '@stdlib/constants/float64/pinf' );
2929
var NINF = require( '@stdlib/constants/float64/ninf' );
30-
var EPS = require( '@stdlib/constants/float64/eps' );
3130

3231

3332
// VARIABLES //
@@ -105,10 +104,8 @@ tape( 'if provided `beta <= 0`, the function returns `NaN`', opts, function test
105104

106105
tape( 'the function returns the mode of a gamma distribution', opts, function test( t ) {
107106
var expected;
108-
var delta;
109107
var alpha;
110108
var beta;
111-
var tol;
112109
var i;
113110
var y;
114111

@@ -117,13 +114,7 @@ tape( 'the function returns the mode of a gamma distribution', opts, function te
117114
beta = data.beta;
118115
for ( i = 0; i < expected.length; i++ ) {
119116
y = mode( alpha[i], beta[i] );
120-
if ( y === expected[i] ) {
121-
t.strictEqual( y, expected[i], 'alpha: '+alpha[i]+', beta: '+beta[i]+', y: '+y+', expected: '+expected[i] );
122-
} else {
123-
delta = abs( y - expected[ i ] );
124-
tol = 2.0 * EPS * abs( expected[ i ] );
125-
t.ok( delta <= tol, 'within tolerance. alpha: '+alpha[i]+'. beta: '+beta[i]+'. y: '+y+'. E: '+expected[ i ]+'. Δ: '+delta+'. tol: '+tol+'.' );
126-
}
117+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
127118
}
128119
t.end();
129120
});

0 commit comments

Comments
 (0)