From a8b60ac20cbf4c36f4e752f47e9b45b43e5ffcd7 Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Sat, 5 Apr 2025 11:38:26 -0700 Subject: [PATCH] test: add tests for IEEE 754-2019 compliance --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/math/base/special/exp/test/test.js | 7 ++++--- .../@stdlib/math/base/special/exp/test/test.native.js | 7 ++++--- .../@stdlib/math/base/special/exp10/test/test.js | 4 +++- .../@stdlib/math/base/special/exp10/test/test.native.js | 4 +++- .../@stdlib/math/base/special/exp2/test/test.js | 4 +++- .../@stdlib/math/base/special/exp2/test/test.native.js | 4 +++- 6 files changed, 20 insertions(+), 10 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/exp/test/test.js b/lib/node_modules/@stdlib/math/base/special/exp/test/test.js index 3aaa064c30a3..7e7366eb2f0a 100644 --- a/lib/node_modules/@stdlib/math/base/special/exp/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/exp/test/test.js @@ -26,6 +26,7 @@ var abs = require( '@stdlib/math/base/special/abs' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ); var exp = require( './../lib' ); @@ -148,19 +149,19 @@ tape( 'the function accurately computes the natural exponential function for ver tape( 'the function returns `0` if provided a `-infinity`', function test( t ) { var val = exp( NINF ); - t.equal( val, 0.0, 'returns 0' ); + t.equal( isPositiveZero( val ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `+infinity` if provided a `+infinity`', function test( t ) { var val = exp( PINF ); - t.equal( val, PINF, 'returns +infinity' ); + t.equal( val, PINF, 'returns expected value' ); t.end(); }); tape( 'the function returns `NaN` if provided a `NaN`', function test( t ) { var val = exp( NaN ); - t.equal( isnan( val ), true, 'returns NaN' ); + t.equal( isnan( val ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/exp/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/exp/test/test.native.js index 424349b75e58..877a797d1101 100644 --- a/lib/node_modules/@stdlib/math/base/special/exp/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/exp/test/test.native.js @@ -26,6 +26,7 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' ); var abs = require( '@stdlib/math/base/special/abs' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); +var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ); var tryRequire = require( '@stdlib/utils/try-require' ); var EPS = require( '@stdlib/constants/float64/eps' ); @@ -157,19 +158,19 @@ tape( 'the function accurately computes the natural exponential function for ver tape( 'the function returns `0` if provided a `-infinity`', opts, function test( t ) { var val = exp( NINF ); - t.equal( val, 0.0, 'returns 0' ); + t.equal( isPositiveZero( val ), true, 'returns expected value' ); t.end(); }); tape( 'the function returns `+infinity` if provided a `+infinity`', opts, function test( t ) { var val = exp( PINF ); - t.equal( val, PINF, 'returns +infinity' ); + t.equal( val, PINF, 'returns expected value' ); t.end(); }); tape( 'the function returns `NaN` if provided a `NaN`', opts, function test( t ) { var val = exp( NaN ); - t.equal( isnan( val ), true, 'returns NaN' ); + t.equal( isnan( val ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/exp10/test/test.js b/lib/node_modules/@stdlib/math/base/special/exp10/test/test.js index 0029bb34148e..e4dacb949b5b 100644 --- a/lib/node_modules/@stdlib/math/base/special/exp10/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/exp10/test/test.js @@ -26,6 +26,7 @@ var abs = require( '@stdlib/math/base/special/abs' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ); var exp10 = require( './../lib' ); @@ -161,7 +162,8 @@ tape( 'the function returns `0.0` for negative large `x`', function test( t ) { }); tape( 'the function returns `0.0` if provided `-infinity`', function test( t ) { - t.equal( exp10( NINF ), 0.0, 'equals 0' ); + var val = exp10( NINF ); + t.equal( isPositiveZero( val ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/exp10/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/exp10/test/test.native.js index d0e72115c064..9ed8248e1297 100644 --- a/lib/node_modules/@stdlib/math/base/special/exp10/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/exp10/test/test.native.js @@ -27,6 +27,7 @@ var abs = require( '@stdlib/math/base/special/abs' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -170,7 +171,8 @@ tape( 'the function returns `0.0` for negative large `x`', opts, function test( }); tape( 'the function returns `0.0` if provided `-infinity`', opts, function test( t ) { - t.equal( exp10( NINF ), 0.0, 'equals 0' ); + var val = exp10( NINF ); + t.equal( isPositiveZero( val ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/exp2/test/test.js b/lib/node_modules/@stdlib/math/base/special/exp2/test/test.js index 7d8c46ae6be4..edcdf2739c55 100644 --- a/lib/node_modules/@stdlib/math/base/special/exp2/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/exp2/test/test.js @@ -26,6 +26,7 @@ var abs = require( '@stdlib/math/base/special/abs' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ); var exp2 = require( './../lib' ); @@ -161,7 +162,8 @@ tape( 'the function returns `0.0` for negative large `x`', function test( t ) { }); tape( 'the function returns `0.0` if provided `-infinity`', function test( t ) { - t.equal( exp2( NINF ), 0.0, 'equals 0' ); + var val = exp2( NINF ); + t.equal( isPositiveZero( val ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/exp2/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/exp2/test/test.native.js index 359b65859996..adf791a92461 100644 --- a/lib/node_modules/@stdlib/math/base/special/exp2/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/exp2/test/test.native.js @@ -27,6 +27,7 @@ var abs = require( '@stdlib/math/base/special/abs' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); var EPS = require( '@stdlib/constants/float64/eps' ); +var isPositiveZero = require( '@stdlib/assert/is-positive-zero' ); var tryRequire = require( '@stdlib/utils/try-require' ); @@ -170,7 +171,8 @@ tape( 'the function returns `0.0` for negative large `x`', opts, function test( }); tape( 'the function returns `0.0` if provided `-infinity`', opts, function test( t ) { - t.equal( exp2( NINF ), 0.0, 'equals 0' ); + var val = exp2( NINF ); + t.equal( isPositiveZero( val ), true, 'returns expected value' ); t.end(); });