Skip to content

Commit 9e42ef5

Browse files
committed
test: add 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 cd7ce0d commit 9e42ef5

File tree

5 files changed

+249
-0
lines changed

5 files changed

+249
-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": "lower",
5+
"trans": "no-transpose",
6+
"diag": "unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0, 1e100, 2e100, 0.0, 1.0, 3e100, 0.0, 0.0, 1.0 ],
13+
"strideA1": 1,
14+
"strideA2": 3,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0, 0.0, 0.0 ],
19+
[ 1e100, 1.0, 0.0 ],
20+
[ 2e100, 3e100, 1.0 ]
21+
],
22+
23+
"X": [ 1e100, 2e100, 3e100 ],
24+
"strideX": 1,
25+
"offsetX": 0,
26+
27+
"CNORM": [ 0.0, 0.0, 0.0 ],
28+
"strideCNORM": 1,
29+
"offsetCNORM": 0,
30+
31+
"expectedX": [ 5.00000000000000009996E-101, -5.00000000000000000000E-001, 1.49999999999999992672E+100 ],
32+
"expectedCNORM": [ 3.00000000000000024198E+100, 3e100, 0.0 ],
33+
"scale": 4.9999999999999999E-201
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": "lower",
5+
"trans": "no-transpose",
6+
"diag": "unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0, 0.0, 0.0, 1e100, 1.0, 0.0, 2e100, 3e100, 1.0 ],
13+
"strideA1": 3,
14+
"strideA2": 1,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0, 0.0, 0.0 ],
19+
[ 1e100, 1.0, 0.0 ],
20+
[ 2e100, 3e100, 1.0 ]
21+
],
22+
23+
"X": [ 1e100, 2e100, 3e100 ],
24+
"strideX": 1,
25+
"offsetX": 0,
26+
27+
"CNORM": [ 0.0, 0.0, 0.0 ],
28+
"strideCNORM": 1,
29+
"offsetCNORM": 0,
30+
31+
"expectedX": [ 5.00000000000000009996E-101, -5.00000000000000000000E-001, 1.49999999999999992672E+100 ],
32+
"expectedCNORM": [ 3.00000000000000024198E+100, 3e100, 0.0 ],
33+
"scale": 4.9999999999999999E-201
34+
}
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": "unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0, 0.0, 0.0, 1e100, 1.0, 0.0, 2e100, 3e100, 1.0 ],
13+
"strideA1": 1,
14+
"strideA2": 3,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0, 1e100, 2e100 ],
19+
[ 0.0, 1.0, 3e100 ],
20+
[ 0.0, 0.0, 1.0 ]
21+
],
22+
23+
"X": [ 3e100, 2e100, 1e100 ],
24+
"strideX": 1,
25+
"offsetX": 0,
26+
27+
"CNORM": [ 0.0, 0.0, 0.0 ],
28+
"strideCNORM": 1,
29+
"offsetCNORM": 0,
30+
31+
"expectedX": [ 5.00000000000000007951E+099, -5.00000000000000000000E-001, 1.66666666666666680573E-101 ],
32+
"expectedCNORM": [ 0.0, 1.00000000000000001590E+100, 4.99999999999999988525E+100 ],
33+
"scale": 1.6666666666666668E-201
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": "unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0, 1e100, 2e100, 0.0, 1.0, 3e100, 0.0, 0.0, 1.0 ],
13+
"strideA1": 3,
14+
"strideA2": 1,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0, 1e100, 2e100 ],
19+
[ 0.0, 1.0, 3e100 ],
20+
[ 0.0, 0.0, 1.0 ]
21+
],
22+
23+
"X": [ 3e100, 2e100, 1e100 ],
24+
"strideX": 1,
25+
"offsetX": 0,
26+
27+
"CNORM": [ 0.0, 0.0, 0.0 ],
28+
"strideCNORM": 1,
29+
"offsetCNORM": 0,
30+
31+
"expectedX": [ 5.00000000000000007951E+099, -5.00000000000000000000E-001, 1.66666666666666680573E-101 ],
32+
"expectedCNORM": [ 0.0, 1.00000000000000001590E+100, 4.99999999999999988525E+100 ],
33+
"scale": 1.6666666666666668E-201
34+
}

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

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ var SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_non_unit
5959
var SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_non_unit_trans_upper_row_major.json' );
6060
var SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_non_unit_trans_upper_col_major.json' );
6161

62+
var SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_unit_no_trans_lower_row_major.json' );
63+
var SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_unit_no_trans_lower_col_major.json' );
64+
var SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_unit_no_trans_upper_row_major.json' );
65+
var SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_unit_no_trans_upper_col_major.json' );
66+
6267

6368
// TESTS //
6469

@@ -989,3 +994,111 @@ tape( 'the function returns expected output for large values (column-major) (upp
989994

990995
t.end();
991996
});
997+
998+
tape( 'the function returns expected output for large values (row-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
999+
var expectedCNORM;
1000+
var expectedX;
1001+
var scale;
1002+
var CNORM;
1003+
var data;
1004+
var A;
1005+
var X;
1006+
1007+
data = SCALED_UNIT_NO_TRANS_LOWER_ROW_MAJOR;
1008+
1009+
A = new Float64Array( data.A );
1010+
CNORM = new Float64Array( data.CNORM );
1011+
X = new Float64Array( data.X );
1012+
1013+
expectedCNORM = new Float64Array( data.expectedCNORM );
1014+
expectedX = new Float64Array( data.expectedX );
1015+
1016+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
1017+
1018+
t.strictEqual( scale, data.scale, 'returns expected value' );
1019+
t.deepEqual( X, expectedX, 'returns expected value' );
1020+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
1021+
1022+
t.end();
1023+
});
1024+
1025+
tape( 'the function returns expected output for large values (column-major) (lower triangular) (no-transpose) (unit)', function test( t ) {
1026+
var expectedCNORM;
1027+
var expectedX;
1028+
var scale;
1029+
var CNORM;
1030+
var data;
1031+
var A;
1032+
var X;
1033+
1034+
data = SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR;
1035+
1036+
A = new Float64Array( data.A );
1037+
CNORM = new Float64Array( data.CNORM );
1038+
X = new Float64Array( data.X );
1039+
1040+
expectedCNORM = new Float64Array( data.expectedCNORM );
1041+
expectedX = new Float64Array( data.expectedX );
1042+
1043+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
1044+
1045+
t.strictEqual( scale, data.scale, 'returns expected value' );
1046+
t.deepEqual( X, expectedX, 'returns expected value' );
1047+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
1048+
1049+
t.end();
1050+
});
1051+
1052+
tape( 'the function returns expected output for large values (row-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
1053+
var expectedCNORM;
1054+
var expectedX;
1055+
var scale;
1056+
var CNORM;
1057+
var data;
1058+
var A;
1059+
var X;
1060+
1061+
data = SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR;
1062+
1063+
A = new Float64Array( data.A );
1064+
CNORM = new Float64Array( data.CNORM );
1065+
X = new Float64Array( data.X );
1066+
1067+
expectedCNORM = new Float64Array( data.expectedCNORM );
1068+
expectedX = new Float64Array( data.expectedX );
1069+
1070+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
1071+
1072+
t.strictEqual( scale, data.scale, 'returns expected value' );
1073+
t.deepEqual( X, expectedX, 'returns expected value' );
1074+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
1075+
1076+
t.end();
1077+
});
1078+
1079+
tape( 'the function returns expected output for large values (column-major) (upper triangular) (no-transpose) (unit)', function test( t ) {
1080+
var expectedCNORM;
1081+
var expectedX;
1082+
var scale;
1083+
var CNORM;
1084+
var data;
1085+
var A;
1086+
var X;
1087+
1088+
data = SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR;
1089+
1090+
A = new Float64Array( data.A );
1091+
CNORM = new Float64Array( data.CNORM );
1092+
X = new Float64Array( data.X );
1093+
1094+
expectedCNORM = new Float64Array( data.expectedCNORM );
1095+
expectedX = new Float64Array( data.expectedX );
1096+
1097+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
1098+
1099+
t.strictEqual( scale, data.scale, 'returns expected value' );
1100+
t.deepEqual( X, expectedX, 'returns expected value' );
1101+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
1102+
1103+
t.end();
1104+
});

0 commit comments

Comments
 (0)