Skip to content

Commit 7ec1a1c

Browse files
authored
test: migrate stats/base/snanstdevtk to ULP-based assertions
PR-URL: #15599 Reviewed-by: Athan Reines <kgryte@gmail.com> Ref: #11352
1 parent 19f0185 commit 7ec1a1c

4 files changed

Lines changed: 12 additions & 40 deletions

File tree

‎lib/node_modules/@stdlib/stats/base/snanstdevtk/test/test.ndarray.js‎

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@
2323
var tape = require( 'tape' );
2424
var floor = require( '@stdlib/math/base/special/floor' );
2525
var sqrt = require( '@stdlib/math/base/special/sqrt' );
26-
var abs = require( '@stdlib/math/base/special/abs' );
2726
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2827
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
29-
var EPS = require( '@stdlib/constants/float32/eps' );
28+
var isAlmostSameValuef = require( '@stdlib/number/float32/base/assert/is-almost-same-value' );
3029
var Float32Array = require( '@stdlib/array/float32' );
3130
var snanstdevtk = require( './../lib/ndarray.js' );
3231

@@ -46,8 +45,6 @@ tape( 'the function has an arity of 5', function test( t ) {
4645

4746
tape( 'the function calculates the population standard deviation of a strided array (ignoring `NaN` values)', function test( t ) {
4847
var expected;
49-
var delta;
50-
var tol;
5148
var x;
5249
var v;
5350
var i;
@@ -56,17 +53,13 @@ tape( 'the function calculates the population standard deviation of a strided ar
5653

5754
v = snanstdevtk( x.length, 0, x, 1, 0 );
5855
expected = float64ToFloat32( sqrt( 53.5/(x.length-1) ) );
59-
delta = abs( v - expected );
60-
tol = 1.0 * EPS * abs( expected );
61-
t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+v+'. E: '+expected+'. tol: '+tol+'. Δ: '+delta+'.' );
56+
t.strictEqual( isAlmostSameValuef( v, expected, 1 ), true, 'returns expected value' );
6257

6358
x = new Float32Array( [ 1.0, NaN, NaN, -2.0, NaN, -4.0, NaN, 5.0, NaN, 0.0, 3.0, NaN ] ); // eslint-disable-line max-len
6459

6560
v = snanstdevtk( x.length, 0, x, 1, 0 );
6661
expected = float64ToFloat32( sqrt( 53.5/(x.length-6) ) );
67-
delta = abs( v - expected );
68-
tol = 1.0 * EPS * abs( expected );
69-
t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+v+'. E: '+expected+'. tol: '+tol+'. Δ: '+delta+'.' );
62+
t.strictEqual( isAlmostSameValuef( v, expected, 1 ), true, 'returns expected value' );
7063

7164
x = new Float32Array( [ -4.0, NaN ] );
7265

‎lib/node_modules/@stdlib/stats/base/snanstdevtk/test/test.ndarray.native.js‎

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@
2323
var resolve = require( 'path' ).resolve;
2424
var tape = require( 'tape' );
2525
var floor = require( '@stdlib/math/base/special/floor' );
26-
var abs = require( '@stdlib/math/base/special/abs' );
2726
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2827
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
29-
var EPS = require( '@stdlib/constants/float32/eps' );
28+
var isAlmostSameValuef = require( '@stdlib/number/float32/base/assert/is-almost-same-value' );
3029
var sqrt = require( '@stdlib/math/base/special/sqrt' );
3130
var Float32Array = require( '@stdlib/array/float32' );
3231
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -55,8 +54,6 @@ tape( 'the function has an arity of 5', opts, function test( t ) {
5554

5655
tape( 'the function calculates the population standard deviation of a strided array (ignoring `NaN` values)', opts, function test( t ) {
5756
var expected;
58-
var delta;
59-
var tol;
6057
var x;
6158
var v;
6259
var i;
@@ -65,17 +62,13 @@ tape( 'the function calculates the population standard deviation of a strided ar
6562

6663
v = snanstdevtk( x.length, 0, x, 1, 0 );
6764
expected = float64ToFloat32( sqrt( 53.5/(x.length-1) ) );
68-
delta = abs( v - expected );
69-
tol = 1.0 * EPS * abs( expected );
70-
t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+v+'. E: '+expected+'. tol: '+tol+'. Δ: '+delta+'.' );
65+
t.strictEqual( isAlmostSameValuef( v, expected, 1 ), true, 'returns expected value' );
7166

7267
x = new Float32Array( [ 1.0, NaN, NaN, -2.0, NaN, -4.0, NaN, 5.0, NaN, 0.0, 3.0, NaN ] ); // eslint-disable-line max-len
7368

7469
v = snanstdevtk( x.length, 0, x, 1, 0 );
7570
expected = float64ToFloat32( sqrt( 53.5/(x.length-6) ) );
76-
delta = abs( v - expected );
77-
tol = 1.0 * EPS * abs( expected );
78-
t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+v+'. E: '+expected+'. tol: '+tol+'. Δ: '+delta+'.' );
71+
t.strictEqual( isAlmostSameValuef( v, expected, 1 ), true, 'returns expected value' );
7972

8073
x = new Float32Array( [ -4.0, NaN ] );
8174

‎lib/node_modules/@stdlib/stats/base/snanstdevtk/test/test.snanstdevtk.js‎

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@
2222

2323
var tape = require( 'tape' );
2424
var floor = require( '@stdlib/math/base/special/floor' );
25-
var abs = require( '@stdlib/math/base/special/abs' );
2625
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2726
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
28-
var EPS = require( '@stdlib/constants/float32/eps' );
27+
var isAlmostSameValuef = require( '@stdlib/number/float32/base/assert/is-almost-same-value' );
2928
var sqrt = require( '@stdlib/math/base/special/sqrt' );
3029
var Float32Array = require( '@stdlib/array/float32' );
3130
var snanstdevtk = require( './../lib/snanstdevtk.js' );
@@ -46,8 +45,6 @@ tape( 'the function has an arity of 4', function test( t ) {
4645

4746
tape( 'the function calculates the population standard deviation of a strided array (ignoring `NaN` values)', function test( t ) {
4847
var expected;
49-
var delta;
50-
var tol;
5148
var x;
5249
var v;
5350
var i;
@@ -56,17 +53,13 @@ tape( 'the function calculates the population standard deviation of a strided ar
5653

5754
v = snanstdevtk( x.length, 0, x, 1 );
5855
expected = float64ToFloat32( sqrt( 53.5/(x.length-1) ) );
59-
delta = abs( v - expected );
60-
tol = 1.0 * EPS * abs( expected );
61-
t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+v+'. E: '+expected+'. tol: '+tol+'. Δ: '+delta+'.' );
56+
t.strictEqual( isAlmostSameValuef( v, expected, 1 ), true, 'returns expected value' );
6257

6358
x = new Float32Array( [ 1.0, NaN, NaN, -2.0, NaN, -4.0, NaN, 5.0, NaN, 0.0, 3.0, NaN ] ); // eslint-disable-line max-len
6459

6560
v = snanstdevtk( x.length, 0, x, 1 );
6661
expected = float64ToFloat32( sqrt( 53.5/(x.length-6) ) );
67-
delta = abs( v - expected );
68-
tol = 1.0 * EPS * abs( expected );
69-
t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+v+'. E: '+expected+'. tol: '+tol+'. Δ: '+delta+'.' );
62+
t.strictEqual( isAlmostSameValuef( v, expected, 1 ), true, 'returns expected value' );
7063

7164
x = new Float32Array( [ -4.0, NaN ] );
7265

‎lib/node_modules/@stdlib/stats/base/snanstdevtk/test/test.snanstdevtk.native.js‎

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@
2323
var resolve = require( 'path' ).resolve;
2424
var tape = require( 'tape' );
2525
var floor = require( '@stdlib/math/base/special/floor' );
26-
var abs = require( '@stdlib/math/base/special/abs' );
2726
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2827
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
29-
var EPS = require( '@stdlib/constants/float32/eps' );
28+
var isAlmostSameValuef = require( '@stdlib/number/float32/base/assert/is-almost-same-value' );
3029
var sqrt = require( '@stdlib/math/base/special/sqrt' );
3130
var Float32Array = require( '@stdlib/array/float32' );
3231
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -55,8 +54,6 @@ tape( 'the function has an arity of 4', opts, function test( t ) {
5554

5655
tape( 'the function calculates the population standard deviation of a strided array (ignoring `NaN` values)', opts, function test( t ) {
5756
var expected;
58-
var delta;
59-
var tol;
6057
var x;
6158
var v;
6259
var i;
@@ -65,17 +62,13 @@ tape( 'the function calculates the population standard deviation of a strided ar
6562

6663
v = snanstdevtk( x.length, 0, x, 1 );
6764
expected = float64ToFloat32( sqrt( 53.5/(x.length-1) ) );
68-
delta = abs( v - expected );
69-
tol = 1.0 * EPS * abs( expected );
70-
t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+v+'. E: '+expected+'. tol: '+tol+'. Δ: '+delta+'.' );
65+
t.strictEqual( isAlmostSameValuef( v, expected, 1 ), true, 'returns expected value' );
7166

7267
x = new Float32Array( [ 1.0, NaN, NaN, -2.0, NaN, -4.0, NaN, 5.0, NaN, 0.0, 3.0, NaN ] ); // eslint-disable-line max-len
7368

7469
v = snanstdevtk( x.length, 0, x, 1 );
7570
expected = float64ToFloat32( sqrt( 53.5/(x.length-6) ) );
76-
delta = abs( v - expected );
77-
tol = 1.0 * EPS * abs( expected );
78-
t.strictEqual( delta <= tol, true, 'within tolerance. Actual: '+v+'. E: '+expected+'. tol: '+tol+'. Δ: '+delta+'.' );
71+
t.strictEqual( isAlmostSameValuef( v, expected, 1 ), true, 'returns expected value' );
7972

8073
x = new Float32Array( [ -4.0, NaN ] );
8174

0 commit comments

Comments
 (0)