Skip to content

Commit c376ed9

Browse files
committed
test: add zeros tests
--- 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 ---
1 parent 71be45f commit c376ed9

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

lib/node_modules/@stdlib/blas/ext/base/gsumkbn/test/test.ndarray.js

+35
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
var tape = require( 'tape' );
2424
var isnan = require( '@stdlib/math/base/assert/is-nan' );
25+
var isPositiveZero = require( '@stdlib/math/base/assert/is-positive-zero' );
2526
var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
2627
var gsumkbn = require( './../lib/ndarray.js' );
2728

@@ -93,6 +94,40 @@ tape( 'the function calculates the sum of all strided array elements (accessors)
9394
t.end();
9495
});
9596

97+
tape( 'the function does not preserve the sign of zero', function test( t ) {
98+
var x;
99+
var v;
100+
101+
x = [ -0.0, -0.0, -0.0 ];
102+
103+
v = gsumkbn( x.length, x, 1, 0 );
104+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
105+
106+
x = [ 0.0, -0.0, -0.0 ];
107+
108+
v = gsumkbn( x.length, x, 1, 0 );
109+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
110+
111+
t.end();
112+
});
113+
114+
tape( 'the function does not preserve the sign of zero (accessors)', function test( t ) {
115+
var x;
116+
var v;
117+
118+
x = toAccessorArray( [ -0.0, -0.0, -0.0 ] );
119+
120+
v = gsumkbn( x.length, x, 1, 0 );
121+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
122+
123+
x = toAccessorArray( [ 0.0, -0.0, -0.0 ] );
124+
125+
v = gsumkbn( x.length, x, 1, 0 );
126+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
127+
128+
t.end();
129+
});
130+
96131
tape( 'if provided an `N` parameter less than or equal to `0`, the function returns `0.0`', function test( t ) {
97132
var x;
98133
var v;

0 commit comments

Comments
 (0)