From 698d6e18bf156d8d2c43f30ba980f1cc43f6934e Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 13 Oct 2026 18:28:58 +0000 Subject: [PATCH] test: migrate `stats/incr/nanmpcorr2` to ULP-based assertions Replaces relative tolerance comparisons (`5.0e5 * EPS * abs( expected )`) with `@stdlib/assert/is-almost-same-value` ULP difference assertions. Each ULP bound was tightened to the measured minimum which still passes over the full fixture set. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01H1a4NdkAZ2r2TeEPDzDx6Z --- .../stats/incr/nanmpcorr2/test/test.js | 45 +++---------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/incr/nanmpcorr2/test/test.js b/lib/node_modules/@stdlib/stats/incr/nanmpcorr2/test/test.js index 8e90798cfeb9..04d1d94af8c3 100644 --- a/lib/node_modules/@stdlib/stats/incr/nanmpcorr2/test/test.js +++ b/lib/node_modules/@stdlib/stats/incr/nanmpcorr2/test/test.js @@ -21,11 +21,10 @@ // MODULES // var tape = require( 'tape' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var randu = require( '@stdlib/random/base/randu' ); -var abs = require( '@stdlib/math/base/special/abs' ); var pow = require( '@stdlib/math/base/special/pow' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); -var EPS = require( '@stdlib/constants/float64/eps' ); var zeros = require( '@stdlib/array/base/zeros' ); var incrnanmpcorr2 = require( './../lib' ); @@ -330,13 +329,11 @@ tape( 'the function returns an accumulator function (known means)', function tes tape( 'the accumulator function computes a moving squared sample Pearson product-moment correlation coefficient incrementally', function test( t ) { var expected; var actual; - var delta; var means; var valid; var data; var acc; var arr; - var tol; var d; var N; var M; @@ -394,13 +391,7 @@ tape( 'the accumulator function computes a moving squared sample Pearson product means = mean( [ 0.0, 0.0 ], arr ); expected = pcorr2( arr, means[ 0 ], means[ 1 ], false ); - if ( actual === expected ) { - t.strictEqual( actual, expected, 'returns expected value. dataset: '+i+'. window: '+j+'.' ); - } else { - delta = abs( actual - expected ); - tol = 5.0e5 * EPS * abs( expected ); - t.strictEqual( delta < tol, true, 'dataset: '+i+'. window: '+j+'. expected: '+expected+'. actual: '+actual+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( actual, expected, 4834 ), true, 'returns expected value' ); } } t.end(); @@ -410,12 +401,10 @@ tape( 'the accumulator function computes a moving squared sample Pearson product var expected; var actual; var means; - var delta; var valid; var data; var acc; var arr; - var tol; var d; var N; var M; @@ -473,14 +462,7 @@ tape( 'the accumulator function computes a moving squared sample Pearson product expected = pcorr2( arr, means[ 0 ], means[ 1 ], true ); - if ( actual === expected ) { - t.strictEqual( actual, expected, 'returns expected value. dataset: '+i+'. step: '+j+'.' ); - } - else { - delta = abs( actual - expected ); - tol = 5.0e5 * EPS * abs( expected ); - t.strictEqual( delta < tol, true, 'dataset: '+i+'. step: '+j+'. expected: '+expected+'. actual: '+actual+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( actual, expected, 1857 ), true, 'returns expected value' ); } } t.end(); @@ -490,9 +472,7 @@ tape( 'if not provided an input value, the accumulator function returns the curr var expected; var actual; var means; - var delta; var data; - var tol; var acc; var W; var N; @@ -521,13 +501,7 @@ tape( 'if not provided an input value, the accumulator function returns the curr } means = mean( [ 0.0, 0.0 ], d ); expected = pcorr2( d, means[ 0 ], means[ 1 ], false ); - if ( actual === expected ) { - t.strictEqual( actual, expected, 'returns expected value. window: '+i+'.' ); - } else { - delta = abs( actual - expected ); - tol = 5.0e5 * EPS * abs( expected ); - t.strictEqual( delta < tol, true, 'window: '+i+'. expected: '+expected+'. actual: '+actual+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( actual, expected, 2 ), true, 'returns expected value' ); } t.end(); }); @@ -536,9 +510,7 @@ tape( 'if not provided an input value, the accumulator function returns the curr var expected; var actual; var means; - var delta; var valid; - var tol; var acc; var arr; var d; @@ -602,14 +574,7 @@ tape( 'if not provided an input value, the accumulator function returns the curr means = mean( [ 0.0, 0.0 ], arr ); expected = pcorr2( arr, means[ 0 ], means[ 1 ], false ); - if ( actual === expected ) { - t.strictEqual( actual, expected, 'returns expected value. step: '+i+'.' ); - } - else { - delta = abs( actual - expected ); - tol = 5.0e5 * EPS * abs( expected ); - t.strictEqual( delta < tol, true, 'step: '+i+'. expected: '+expected+'. actual: '+actual+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( actual, expected, 4 ), true, 'returns expected value' ); } t.end(); });