Skip to content

Commit f70eec0

Browse files
committed
test: add test for small values
--- 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 8192ae8 commit f70eec0

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

lib/node_modules/@stdlib/lapack/base/dgebal/test/test.dgebal.js

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -609,3 +609,73 @@ tape( 'the function returns expected values for job = S with zero norm (column-m
609609
t.deepEqual( scale, expectedScale, 'returns expected value' );
610610
t.end();
611611
});
612+
613+
tape( 'the function returns expected values for job = S with small values (row-major)', function test( t ) {
614+
var expectedScale;
615+
var expectedOut;
616+
var expectedA;
617+
var scale;
618+
var info;
619+
var out;
620+
var A;
621+
622+
A = new Float64Array([
623+
1.0e-4, 1.0, 2.0, 1.0e4,
624+
2.0e-4, 1.0, 2.0, 2.0e4,
625+
3.0e-4, 1.0, 2.0, 3.0e4,
626+
4.0e-4, 1.0, 2.0, 4.0e4
627+
]);
628+
out = new Float64Array( 2 );
629+
scale = new Float64Array( 4 );
630+
631+
expectedOut = new Float64Array( [ 0.0, 3.0 ] );
632+
expectedScale = new Float64Array( [ 4096.0, 128.0, 128.0, 1.0 ] );
633+
expectedA = new Float64Array([
634+
1.0e-4, 3.125e-2, 6.25e-2, 2.44140625,
635+
6.4e-3, 1.0, 2.0, 1.5625e+2,
636+
9.6e-3, 1.0, 2.0, 2.34375e+2,
637+
1.6384, 1.28e+2, 2.56e+2, 4.0e+4
638+
]);
639+
640+
info = dgebal( 'row-major', 'S', 4, A, 4, out, scale );
641+
t.strictEqual( info, 0, 'returns expected value' );
642+
t.deepEqual( out, expectedOut, 'returns expected value' );
643+
t.deepEqual( A, expectedA, 'returns expected value' );
644+
t.deepEqual( scale, expectedScale, 'returns expected value' );
645+
t.end();
646+
});
647+
648+
tape( 'the function returns expected values for job = S with small values (column-major)', function test( t ) {
649+
var expectedScale;
650+
var expectedOut;
651+
var expectedA;
652+
var scale;
653+
var info;
654+
var out;
655+
var A;
656+
657+
A = new Float64Array([
658+
1.0e-4, 2.0e-4, 3.0e-4, 4.0e-4,
659+
1.0, 1.0, 1.0, 1.0,
660+
2.0, 2.0, 2.0, 2.0,
661+
1.0e4, 2.0e4, 3.0e4, 4.0e4
662+
]);
663+
out = new Float64Array( 2 );
664+
scale = new Float64Array( 4 );
665+
666+
expectedOut = new Float64Array( [ 0.0, 3.0 ] );
667+
expectedScale = new Float64Array( [ 4096.0, 128.0, 128.0, 1.0 ] );
668+
expectedA = new Float64Array([
669+
1.0e-4, 6.4e-3, 9.6e-3, 1.6384,
670+
3.125e-2, 1.0, 1.0, 1.28e+2,
671+
6.25e-2, 2.0, 2.0, 2.56e+2,
672+
2.44140625, 1.5625e+2, 2.34375e+2, 4.0e+4
673+
]);
674+
675+
info = dgebal( 'column-major', 'S', 4, A, 4, out, scale );
676+
t.strictEqual( info, 0, 'returns expected value' );
677+
t.deepEqual( out, expectedOut, 'returns expected value' );
678+
t.deepEqual( A, expectedA, 'returns expected value' );
679+
t.deepEqual( scale, expectedScale, 'returns expected value' );
680+
t.end();
681+
});

0 commit comments

Comments
 (0)