From ffe79f85fc35a46ede1a4467d7046a9c19e566bb Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Sun, 6 Apr 2025 22:43:41 -0700 Subject: [PATCH 1/2] 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/cosd/test/test.js | 12 ++++++++++++ .../math/base/special/cosd/test/test.native.js | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/lib/node_modules/@stdlib/math/base/special/cosd/test/test.js b/lib/node_modules/@stdlib/math/base/special/cosd/test/test.js index 65b39a030a3e..889b75f4a496 100644 --- a/lib/node_modules/@stdlib/math/base/special/cosd/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/cosd/test/test.js @@ -114,3 +114,15 @@ tape( 'if provided `90.0`, the function returns `0.0`', function test( t ) { t.equal( v, 0.0, 'returns expected value' ); t.end(); }); + +tape( 'the function returns `1` if provided `+-0`', function test( t ) { + var v; + + v = cosd( -0.0 ); + t.equal( v, 1.0, 'returns expected value' ); + + v = cosd( +0.0 ); + t.equal( v, 1.0, 'returns expected value' ); + + t.end(); +}); diff --git a/lib/node_modules/@stdlib/math/base/special/cosd/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/cosd/test/test.native.js index f6aa0759a564..bde068ae36c9 100644 --- a/lib/node_modules/@stdlib/math/base/special/cosd/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/cosd/test/test.native.js @@ -123,3 +123,15 @@ tape( 'if provided `90.0`, the function returns `0.0`', opts, function test( t ) t.equal( v, 0.0, 'returns expected value' ); t.end(); }); + +tape( 'the function returns `1` if provided `+-0`', opts, function test( t ) { + var v; + + v = cosd( -0.0 ); + t.equal( v, 1.0, 'returns expected value' ); + + v = cosd( +0.0 ); + t.equal( v, 1.0, 'returns expected value' ); + + t.end(); +}); From 1efffca08cb4feb8ffdffc190687c71ac66d1b4a Mon Sep 17 00:00:00 2001 From: Karan Anand Date: Sun, 6 Apr 2025 23:07:45 -0700 Subject: [PATCH 2/2] test: enforce strict equality checks --- 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/cosd/test/test.js | 16 ++++++++-------- .../math/base/special/cosd/test/test.native.js | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/node_modules/@stdlib/math/base/special/cosd/test/test.js b/lib/node_modules/@stdlib/math/base/special/cosd/test/test.js index 889b75f4a496..6e9affb0a345 100644 --- a/lib/node_modules/@stdlib/math/base/special/cosd/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/cosd/test/test.js @@ -45,7 +45,7 @@ tape( 'main export is a function', function test( t ) { tape( 'if provided a `NaN`, the function returns `NaN`', function test( t ) { var v = cosd( NaN ); - t.equal( isnan( v ), true, 'returns expected value' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -63,7 +63,7 @@ tape( 'the function computes the cosine of an angle measured in degrees (negativ for ( i = 0; i < x.length; i++ ) { y = cosd( x[i] ); if ( y === expected[ i ] ) { - t.equal( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] ); + t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] ); } else { delta = abs( y - expected[i] ); tol = EPS * abs( expected[i] ); @@ -87,7 +87,7 @@ tape( 'the function computes the cosine of an angle measured in degrees (positiv for ( i = 0; i < x.length; i++ ) { y = cosd( x[i] ); if ( y === expected[ i ] ) { - t.equal( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] ); + t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] ); } else { delta = abs( y - expected[i] ); tol = EPS * abs( expected[i] ); @@ -99,19 +99,19 @@ tape( 'the function computes the cosine of an angle measured in degrees (positiv tape( 'if provided `+infinity`, the function returns `NaN`', function test( t ) { var v = cosd( PINF ); - t.equal( isnan( v ), true, 'returns expected value' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); tape( 'if provided `-infinity`, the function returns `NaN`', function test( t ) { var v = cosd( NINF ); - t.equal( isnan( v ), true, 'returns expected value' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); tape( 'if provided `90.0`, the function returns `0.0`', function test( t ) { var v = cosd( 90.0 ); - t.equal( v, 0.0, 'returns expected value' ); + t.strictEqual( v, 0.0, 'returns expected value' ); t.end(); }); @@ -119,10 +119,10 @@ tape( 'the function returns `1` if provided `+-0`', function test( t ) { var v; v = cosd( -0.0 ); - t.equal( v, 1.0, 'returns expected value' ); + t.strictEqual( v, 1.0, 'returns expected value' ); v = cosd( +0.0 ); - t.equal( v, 1.0, 'returns expected value' ); + t.strictEqual( v, 1.0, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/cosd/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/cosd/test/test.native.js index bde068ae36c9..49e355c87cb4 100644 --- a/lib/node_modules/@stdlib/math/base/special/cosd/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/cosd/test/test.native.js @@ -54,7 +54,7 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'if provided a `NaN`, the function returns `NaN`', opts, function test( t ) { var v = cosd( NaN ); - t.equal( isnan( v ), true, 'returns expected value' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); @@ -72,7 +72,7 @@ tape( 'the function computes the cosine of an angle measured in degrees (negativ for ( i = 0; i < x.length; i++ ) { y = cosd( x[i] ); if ( y === expected[ i ] ) { - t.equal( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] ); + t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] ); } else { delta = abs( y - expected[i] ); tol = EPS * abs( expected[i] ); @@ -96,7 +96,7 @@ tape( 'the function computes the cosine of an angle measured in degrees (positiv for ( i = 0; i < x.length; i++ ) { y = cosd( x[i] ); if ( y === expected[ i ] ) { - t.equal( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] ); + t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] ); } else { delta = abs( y - expected[i] ); tol = EPS * abs( expected[i] ); @@ -108,19 +108,19 @@ tape( 'the function computes the cosine of an angle measured in degrees (positiv tape( 'if provided `+infinity`, the function returns `NaN`', opts, function test( t ) { var v = cosd( PINF ); - t.equal( isnan( v ), true, 'returns expected value' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); tape( 'if provided `-infinity`, the function returns `NaN`', opts, function test( t ) { var v = cosd( NINF ); - t.equal( isnan( v ), true, 'returns expected value' ); + t.strictEqual( isnan( v ), true, 'returns expected value' ); t.end(); }); tape( 'if provided `90.0`, the function returns `0.0`', opts, function test( t ) { var v = cosd( 90.0 ); - t.equal( v, 0.0, 'returns expected value' ); + t.strictEqual( v, 0.0, 'returns expected value' ); t.end(); }); @@ -128,10 +128,10 @@ tape( 'the function returns `1` if provided `+-0`', opts, function test( t ) { var v; v = cosd( -0.0 ); - t.equal( v, 1.0, 'returns expected value' ); + t.strictEqual( v, 1.0, 'returns expected value' ); v = cosd( +0.0 ); - t.equal( v, 1.0, 'returns expected value' ); + t.strictEqual( v, 1.0, 'returns expected value' ); t.end(); });