Skip to content

Commit 1959bfe

Browse files
committed
test: more 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 b72dd17 commit 1959bfe

File tree

3 files changed

+124
-0
lines changed

3 files changed

+124
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"order": "column-major",
3+
4+
"uplo": "upper",
5+
"trans": "no-transpose",
6+
"diag": "non-unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0e-10, 0.0, 0.0, 2.0, 1.0e-20, 0.0, 3.0, 4.0, 1.0e-30 ],
13+
"strideA1": 1,
14+
"strideA2": 3,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0e-10, 2.0, 3.0 ],
19+
[ 0.0, 1.0e-20, 4.0 ],
20+
[ 0.0, 0.0, 1.0e-30 ]
21+
],
22+
23+
"X": [ 1.0e300, 2.0e300, 3.0e300 ],
24+
"strideX": 1,
25+
"offsetX": 0,
26+
27+
"CNORM": [ 0.0, 0.0, 0.0 ],
28+
"strideCNORM": 1,
29+
"offsetCNORM": 0,
30+
31+
"expectedX": [ 7.9999999999999982e+060, -3.9999999999999995E+050, 9.9999999999999988E+029 ],
32+
"expectedCNORM": [ 0.0, 2.0, 7.0 ],
33+
"scale": 3.3333333333333330E-301
34+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"order": "row-major",
3+
4+
"uplo": "upper",
5+
"trans": "no-transpose",
6+
"diag": "non-unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0e-10, 2.0, 3.0, 0.0, 1.0e-20, 4.0, 0.0, 0.0, 1.0e-30 ],
13+
"strideA1": 3,
14+
"strideA2": 1,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0e-10, 2.0, 3.0 ],
19+
[ 0.0, 1.0e-20, 4.0 ],
20+
[ 0.0, 0.0, 1.0e-30 ]
21+
],
22+
23+
"X": [ 1.0e300, 2.0e300, 3.0e300 ],
24+
"strideX": 1,
25+
"offsetX": 0,
26+
27+
"CNORM": [ 0.0, 0.0, 0.0 ],
28+
"strideCNORM": 1,
29+
"offsetCNORM": 0,
30+
31+
"expectedX": [ 7.9999999999999982e+060, -3.9999999999999995E+050, 9.9999999999999988E+029 ],
32+
"expectedCNORM": [ 0.0, 2.0, 7.0 ],
33+
"scale": 3.3333333333333330E-301
34+
}

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

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ var UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/unit_trans_upper_col_major
5151

5252
var SCALED_NON_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_non_unit_no_trans_lower_row_major.json' );
5353
var SCALED_NON_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_non_unit_no_trans_lower_col_major.json' );
54+
var SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_non_unit_no_trans_upper_row_major.json' );
55+
var SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_non_unit_no_trans_upper_col_major.json' );
5456

5557

5658
// TESTS //
@@ -820,3 +822,57 @@ tape( 'the function returns expected output for large values (column-major) (low
820822

821823
t.end();
822824
});
825+
826+
tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
827+
var expectedCNORM;
828+
var expectedX;
829+
var scale;
830+
var CNORM;
831+
var data;
832+
var A;
833+
var X;
834+
835+
data = SCALED_NON_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
836+
837+
A = new Float64Array( data.A );
838+
CNORM = new Float64Array( data.CNORM );
839+
X = new Float64Array( data.X );
840+
841+
expectedCNORM = new Float64Array( data.expectedCNORM );
842+
expectedX = new Float64Array( data.expectedX );
843+
844+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
845+
846+
t.strictEqual( scale, data.scale, 'returns expected value' );
847+
t.deepEqual( X, expectedX, 'returns expected value' );
848+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
849+
850+
t.end();
851+
});
852+
853+
tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (non-unit)', function test( t ) {
854+
var expectedCNORM;
855+
var expectedX;
856+
var scale;
857+
var CNORM;
858+
var data;
859+
var A;
860+
var X;
861+
862+
data = SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR;
863+
864+
A = new Float64Array( data.A );
865+
CNORM = new Float64Array( data.CNORM );
866+
X = new Float64Array( data.X );
867+
868+
expectedCNORM = new Float64Array( data.expectedCNORM );
869+
expectedX = new Float64Array( data.expectedX );
870+
871+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
872+
873+
t.strictEqual( scale, data.scale, 'returns expected value' );
874+
t.deepEqual( X, expectedX, 'returns expected value' );
875+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
876+
877+
t.end();
878+
});

0 commit comments

Comments
 (0)