Skip to content

Commit cd7ce0d

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 19f2ae1 commit cd7ce0d

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": "transpose",
6+
"diag": "non-unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0e-100, 0.0, 0.0, 5.0, 1.0e-110, 0.0, 7.0, 8.0, 1.0e-120 ],
13+
"strideA1": 1,
14+
"strideA2": 3,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0e-100, 5.0, 7.0 ],
19+
[ 0.0, 1.0e-110, 8.0 ],
20+
[ 0.0, 0.0, 1.0e-120 ]
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.00000000000000011102E-001, -1.00000000000000002357E+110, 8.00000000000000079653E+230 ],
32+
"expectedCNORM": [ 0.0, 5.0, 15.0 ],
33+
"scale": 2.0000000000000003e-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": "non-unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 1.0e-100, 5.0, 7.0, 0.0, 1.0e-110, 8.0, 0.0, 0.0, 1.0e-120 ],
13+
"strideA1": 3,
14+
"strideA2": 1,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 1.0e-100, 5.0, 7.0 ],
19+
[ 0.0, 1.0e-110, 8.0 ],
20+
[ 0.0, 0.0, 1.0e-120 ]
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.00000000000000011102E-001, -1.00000000000000002357E+110, 8.00000000000000079653E+230 ],
32+
"expectedCNORM": [ 0.0, 5.0, 15.0 ],
33+
"scale": 2.0000000000000003e-201
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
@@ -56,6 +56,8 @@ var SCALED_NON_UNIT_NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_non_u
5656

5757
var SCALED_NON_UNIT_TRANS_LOWER_ROW_MAJOR = require( './fixtures/scaled_non_unit_trans_lower_row_major.json' );
5858
var SCALED_NON_UNIT_TRANS_LOWER_COL_MAJOR = require( './fixtures/scaled_non_unit_trans_lower_col_major.json' );
59+
var SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR = require( './fixtures/scaled_non_unit_trans_upper_row_major.json' );
60+
var SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR = require( './fixtures/scaled_non_unit_trans_upper_col_major.json' );
5961

6062

6163
// TESTS //
@@ -933,3 +935,57 @@ tape( 'the function returns expected output for large values (column-major) (low
933935

934936
t.end();
935937
});
938+
939+
tape( 'the function returns expected output for large values (row-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
940+
var expectedCNORM;
941+
var expectedX;
942+
var scale;
943+
var CNORM;
944+
var data;
945+
var A;
946+
var X;
947+
948+
data = SCALED_NON_UNIT_TRANS_UPPER_ROW_MAJOR;
949+
950+
A = new Float64Array( data.A );
951+
CNORM = new Float64Array( data.CNORM );
952+
X = new Float64Array( data.X );
953+
954+
expectedCNORM = new Float64Array( data.expectedCNORM );
955+
expectedX = new Float64Array( data.expectedX );
956+
957+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
958+
959+
t.strictEqual( scale, data.scale, 'returns expected value' );
960+
t.deepEqual( X, expectedX, 'returns expected value' );
961+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
962+
963+
t.end();
964+
});
965+
966+
tape( 'the function returns expected output for large values (column-major) (upper triangular) (transpose) (non-unit)', function test( t ) {
967+
var expectedCNORM;
968+
var expectedX;
969+
var scale;
970+
var CNORM;
971+
var data;
972+
var A;
973+
var X;
974+
975+
data = SCALED_NON_UNIT_TRANS_UPPER_COL_MAJOR;
976+
977+
A = new Float64Array( data.A );
978+
CNORM = new Float64Array( data.CNORM );
979+
X = new Float64Array( data.X );
980+
981+
expectedCNORM = new Float64Array( data.expectedCNORM );
982+
expectedX = new Float64Array( data.expectedX );
983+
984+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
985+
986+
t.strictEqual( scale, data.scale, 'returns expected value' );
987+
t.deepEqual( X, expectedX, 'returns expected value' );
988+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
989+
990+
t.end();
991+
});

0 commit comments

Comments
 (0)