Skip to content

Commit 82bab69

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 9e42ef5 commit 82bab69

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": "transpose",
6+
"diag": "unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0, 4e100, 7e100, 0.0, 1.0, 8e100, 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+
[ 4e100, 1.0, 0.0 ],
20+
[ 7e100, 8e100, 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": [ 2.00000000000000003181E+100, -5.00000000000000000000E-001, 6.25000000000000012495E-102 ],
32+
"expectedCNORM": [ 1.10000000000000003692E+101, 8.00000000000000012722E+100, 0.00000000000000000000E+000 ],
33+
"scale": 2.0833333333333334E-202
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": "transpose",
6+
"diag": "unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0, 0.0, 0.0, 4e100, 1.0, 0.0, 7e100, 8e100, 1.0 ],
13+
"strideA1": 3,
14+
"strideA2": 1,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0, 0.0, 0.0 ],
19+
[ 4e100, 1.0, 0.0 ],
20+
[ 7e100, 8e100, 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": [ 2.00000000000000003181E+100, -5.00000000000000000000E-001, 6.25000000000000012495E-102 ],
32+
"expectedCNORM": [ 1.10000000000000003692E+101, 8.00000000000000012722E+100, 0.00000000000000000000E+000 ],
33+
"scale": 2.0833333333333334E-202
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": "transpose",
6+
"diag": "unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0, 0.0, 0.0, 2e100, 1.0, 0.0, 3e100, 5e100, 1.0 ],
13+
"strideA1": 1,
14+
"strideA2": 3,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0, 2e100, 3e100 ],
19+
[ 0.0, 1.0, 5e100 ],
20+
[ 0.0, 0.0, 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": [ 2.50000000000000004998E-101, -5.00000000000000000000E-001, 2.49999999999999994262E+100 ],
32+
"expectedCNORM": [ 0.0, 2.00000000000000003181E+100, 8.00000000000000012722E+100 ],
33+
"scale": 2.5000000000000000E-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": "transpose",
6+
"diag": "unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0, 2e100, 3e100, 0.0, 1.0, 5e100, 0.0, 0.0, 1.0 ],
13+
"strideA1": 3,
14+
"strideA2": 1,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0, 2e100, 3e100 ],
19+
[ 0.0, 1.0, 5e100 ],
20+
[ 0.0, 0.0, 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": [ 2.50000000000000004998E-101, -5.00000000000000000000E-001, 2.49999999999999994262E+100 ],
32+
"expectedCNORM": [ 0.0, 2.00000000000000003181E+100, 8.00000000000000012722E+100 ],
33+
"scale": 2.5000000000000000E-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
@@ -64,6 +64,11 @@ var SCALED_UNIT_NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_unit_no_t
6464
var SCALED_UNIT_NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_unit_no_trans_upper_row_major.json' );
6565
var SCALED_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_unit_no_trans_upper_col_major.json' );
6666

67+
var SCALED_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_unit_trans_lower_row_major.json' );
68+
var SCALED_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_unit_trans_lower_col_major.json' );
69+
var SCALED_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_unit_trans_upper_row_major.json' );
70+
var SCALED_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_unit_trans_upper_col_major.json' );
71+
6772

6873
// TESTS //
6974

@@ -1102,3 +1107,111 @@ tape( 'the function returns expected output for large values (column-major) (upp
11021107

11031108
t.end();
11041109
});
1110+
1111+
tape( 'the function returns expected output for large values (row-major) (lower triangular) (transpose) (unit)', function test( t ) {
1112+
var expectedCNORM;
1113+
var expectedX;
1114+
var scale;
1115+
var CNORM;
1116+
var data;
1117+
var A;
1118+
var X;
1119+
1120+
data = SCALED_UNIT_TRANS_LOWER_ROW_MAJOR;
1121+
1122+
A = new Float64Array( data.A );
1123+
CNORM = new Float64Array( data.CNORM );
1124+
X = new Float64Array( data.X );
1125+
1126+
expectedCNORM = new Float64Array( data.expectedCNORM );
1127+
expectedX = new Float64Array( data.expectedX );
1128+
1129+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
1130+
1131+
t.strictEqual( scale, data.scale, 'returns expected value' );
1132+
t.deepEqual( X, expectedX, 'returns expected value' );
1133+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
1134+
1135+
t.end();
1136+
});
1137+
1138+
tape( 'the function returns expected output for large values (column-major) (lower triangular) (transpose) (unit)', function test( t ) {
1139+
var expectedCNORM;
1140+
var expectedX;
1141+
var scale;
1142+
var CNORM;
1143+
var data;
1144+
var A;
1145+
var X;
1146+
1147+
data = SCALED_UNIT_TRANS_LOWER_COL_MAJOR;
1148+
1149+
A = new Float64Array( data.A );
1150+
CNORM = new Float64Array( data.CNORM );
1151+
X = new Float64Array( data.X );
1152+
1153+
expectedCNORM = new Float64Array( data.expectedCNORM );
1154+
expectedX = new Float64Array( data.expectedX );
1155+
1156+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
1157+
1158+
t.strictEqual( scale, data.scale, 'returns expected value' );
1159+
t.deepEqual( X, expectedX, 'returns expected value' );
1160+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
1161+
1162+
t.end();
1163+
});
1164+
1165+
tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (unit)', function test( t ) {
1166+
var expectedCNORM;
1167+
var expectedX;
1168+
var scale;
1169+
var CNORM;
1170+
var data;
1171+
var A;
1172+
var X;
1173+
1174+
data = SCALED_UNIT_TRANS_UPPER_ROW_MAJOR;
1175+
1176+
A = new Float64Array( data.A );
1177+
CNORM = new Float64Array( data.CNORM );
1178+
X = new Float64Array( data.X );
1179+
1180+
expectedCNORM = new Float64Array( data.expectedCNORM );
1181+
expectedX = new Float64Array( data.expectedX );
1182+
1183+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
1184+
1185+
t.strictEqual( scale, data.scale, 'returns expected value' );
1186+
t.deepEqual( X, expectedX, 'returns expected value' );
1187+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
1188+
1189+
t.end();
1190+
});
1191+
1192+
tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (unit)', function test( t ) {
1193+
var expectedCNORM;
1194+
var expectedX;
1195+
var scale;
1196+
var CNORM;
1197+
var data;
1198+
var A;
1199+
var X;
1200+
1201+
data = SCALED_UNIT_TRANS_UPPER_COL_MAJOR;
1202+
1203+
A = new Float64Array( data.A );
1204+
CNORM = new Float64Array( data.CNORM );
1205+
X = new Float64Array( data.X );
1206+
1207+
expectedCNORM = new Float64Array( data.expectedCNORM );
1208+
expectedX = new Float64Array( data.expectedX );
1209+
1210+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
1211+
1212+
t.strictEqual( scale, data.scale, 'returns expected value' );
1213+
t.deepEqual( X, expectedX, 'returns expected value' );
1214+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
1215+
1216+
t.end();
1217+
});

0 commit comments

Comments
 (0)