Skip to content

Commit 71be45f

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 be45258 commit 71be45f

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

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

+35
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
// MODULES //
2222

2323
var tape = require( 'tape' );
24+
var isPositiveZero = require( '@stdlib/math/base/assert/is-positive-zero' );
2425
var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
2526
var gnansumkbn2 = require( './../lib/ndarray.js' );
2627

@@ -108,6 +109,40 @@ tape( 'the function calculates the sum of strided array elements (ignoring NaN v
108109
t.end();
109110
});
110111

112+
tape( 'the function does not preserve the sign of zero', function test( t ) {
113+
var x;
114+
var v;
115+
116+
x = [ -0.0, -0.0, -0.0 ];
117+
118+
v = gnansumkbn2( x.length, x, 1, 0 );
119+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
120+
121+
x = [ 0.0, -0.0, -0.0 ];
122+
123+
v = gnansumkbn2( x.length, x, 1, 0 );
124+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
125+
126+
t.end();
127+
});
128+
129+
tape( 'the function does not preserve the sign of zero (accessors)', function test( t ) {
130+
var x;
131+
var v;
132+
133+
x = toAccessorArray( [ -0.0, -0.0, -0.0 ] );
134+
135+
v = gnansumkbn2( x.length, x, 1, 0 );
136+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
137+
138+
x = toAccessorArray( [ 0.0, -0.0, -0.0 ] );
139+
140+
v = gnansumkbn2( x.length, x, 1, 0 );
141+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
142+
143+
t.end();
144+
});
145+
111146
tape( 'if provided an `N` parameter less than or equal to `0`, the function returns `0.0`', function test( t ) {
112147
var x;
113148
var v;

0 commit comments

Comments
 (0)