Skip to content

Commit ddf9bbe

Browse files
committed
test: more test coverage
--- 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 9a533bd commit ddf9bbe

File tree

5 files changed

+258
-0
lines changed

5 files changed

+258
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"order": "column-major",
3+
4+
"itrans": 0,
5+
"N": 3,
6+
"nrhs": 3,
7+
8+
"DL": [ 0.5 , 0.5 ],
9+
"sdl": 1,
10+
"odl": 0,
11+
12+
"D": [2 , 1 , 0.5],
13+
"sd": 1,
14+
"od": 0,
15+
16+
"DU": [ 1.0, 1.0 ],
17+
"sdu": 1,
18+
"odu": 0,
19+
20+
"DU2": [ 0.0 ],
21+
"sdu2": 1,
22+
"odu2": 0,
23+
24+
"IPIV": [ 0, 2, 2 ],
25+
"si": 1,
26+
"oi": 0,
27+
28+
"B": [ 7.0, 2.0, 1.0, 8.0, 3.0, 1.5, 7.0, 4.0, 2.0 ],
29+
"sb": 1,
30+
"ob": 0,
31+
32+
"LDB": 3,
33+
34+
"expected": [ 1, 5, -4, 1.5, 5, -3.5, 2, 3, -1 ]
35+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"order": "column-major",
3+
4+
"itrans": 1,
5+
"N": 3,
6+
"nrhs": 3,
7+
8+
"DL": [ 0.5 , 0.5 ],
9+
"sdl": 1,
10+
"odl": 0,
11+
12+
"D": [2 , 1 , 0.5],
13+
"sd": 1,
14+
"od": 0,
15+
16+
"DU": [ 1.0, 1.0 ],
17+
"sdu": 1,
18+
"odu": 0,
19+
20+
"DU2": [ 0.0 ],
21+
"sdu2": 1,
22+
"odu2": 0,
23+
24+
"IPIV": [ 0, 2, 2 ],
25+
"si": 1,
26+
"oi": 0,
27+
28+
"B": [ 7.0, 2.0, 1.0, 8.0, 3.0, 1.5, 7.0, 4.0, 2.0 ],
29+
"sb": 1,
30+
"ob": 0,
31+
32+
"LDB": 3,
33+
34+
"expected": [ 1, 5, -4, 1.5, 5, -3.5, 2, 3, -1 ]
35+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"order": "row-major",
3+
4+
"itrans": 1,
5+
"N": 3,
6+
"nrhs": 3,
7+
8+
"DL": [ 0.5 , 0.5 ],
9+
"sdl": 1,
10+
"odl": 0,
11+
12+
"D": [2 , 1 , 0.5],
13+
"sd": 1,
14+
"od": 0,
15+
16+
"DU": [ 1.0, 1.0 ],
17+
"sdu": 1,
18+
"odu": 0,
19+
20+
"DU2": [ 0.0 ],
21+
"sdu2": 1,
22+
"odu2": 0,
23+
24+
"IPIV": [ 0, 2, 2 ],
25+
"si": 1,
26+
"oi": 0,
27+
28+
"B": [ 7.0, 2.0, 1.0, 8.0, 3.0, 1.5, 7.0, 4.0, 2.0 ],
29+
"sb": 1,
30+
"ob": 0,
31+
32+
"LDB": 3,
33+
34+
"expected": [ 1, -1, -0.5, 5, 4, 2, 2, 0, 0 ]
35+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"order": "row-major",
3+
4+
"itrans": 1,
5+
"N": 3,
6+
"nrhs": 3,
7+
8+
"DL": [ 0.5 , 0.5 ],
9+
"sdl": 1,
10+
"odl": 0,
11+
12+
"D": [2 , 1 , 0.5],
13+
"sd": 1,
14+
"od": 0,
15+
16+
"DU": [ 1.0, 1.0 ],
17+
"sdu": 1,
18+
"odu": 0,
19+
20+
"DU2": [ 0.0 ],
21+
"sdu2": 1,
22+
"odu2": 0,
23+
24+
"IPIV": [ 0, 2, 2 ],
25+
"si": 1,
26+
"oi": 0,
27+
28+
"B": [ 7.0, 2.0, 1.0, 8.0, 3.0, 1.5, 7.0, 4.0, 2.0 ],
29+
"sb": 1,
30+
"ob": 0,
31+
32+
"LDB": 3,
33+
34+
"expected": [ 1, -1, -0.5, 5, 4, 2, 2, 0, 0 ]
35+
}

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

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,16 @@ var COL_MAJOR_TRANS_NRHS_GT_ONE = require( './fixtures/col_major_trans_nrhs_gt_o
3434
var COL_MAJOR_NO_TRANS_NRHS_GT_ONE = require( './fixtures/col_major_no_trans_nrhs_gt_one.json' );
3535
var ROW_MAJOR_TRANS_NRHS_GT_ONE = require( './fixtures/row_major_trans_nrhs_gt_one.json' );
3636
var ROW_MAJOR_NO_TRANS_NRHS_GT_ONE = require( './fixtures/row_major_no_trans_nrhs_gt_one.json' );
37+
3738
var COL_MAJOR_NO_TRANS_NRHS_EQ_ONE = require( './fixtures/col_major_no_trans_nrhs_eq_one.json' );
3839
var COL_MAJOR_TRANS_NRHS_EQ_ONE = require( './fixtures/col_major_trans_nrhs_eq_one.json' );
3940
var ROW_MAJOR_TRANS_NRHS_EQ_ONE = require( './fixtures/row_major_trans_nrhs_eq_one.json' );
4041

42+
var COL_MAJOR_TRANS_IPIV_NE_I = require( './fixtures/col_major_trans_ipiv_ne_i.json' );
43+
var COL_MAJOR_NO_TRANS_IPIV_NE_I = require( './fixtures/col_major_no_trans_ipiv_ne_i.json' );
44+
var ROW_MAJOR_TRANS_IPIV_NE_I = require( './fixtures/row_major_trans_ipiv_ne_i.json' );
45+
var ROW_MAJOR_NO_TRANS_IPIV_NE_I = require( './fixtures/row_major_no_trans_ipiv_ne_i.json' );
46+
4147

4248
// TESTS //
4349

@@ -360,3 +366,115 @@ tape( 'the function solves A**T * X = B (column-major, nrhs <= 1)', function tes
360366

361367
t.end();
362368
});
369+
370+
tape( 'the function solves A**T * X = B when IPIV[ i ] != i (column-major, nrhs > 1)', function test( t ) {
371+
var expectedX;
372+
var IPIV;
373+
var data;
374+
var DU2;
375+
var DU;
376+
var DL;
377+
var D;
378+
var B;
379+
var X;
380+
381+
data = COL_MAJOR_TRANS_IPIV_NE_I;
382+
383+
DL = new Float64Array( data.DL );
384+
D = new Float64Array( data.D );
385+
DU = new Float64Array( data.DU );
386+
DU2 = new Float64Array( data.DU2 );
387+
IPIV = new Int32Array( data.IPIV );
388+
B = new Float64Array( data.B );
389+
390+
X = dgtts2( data.order, data.itrans, data.N, data.nrhs, DL, D, DU, DU2, IPIV, B, data.LDB );
391+
392+
expectedX = new Float64Array( data.expected );
393+
t.deepEqual( X, expectedX, 'returns expected value' );
394+
395+
t.end();
396+
});
397+
398+
tape( 'the function solves A * X = B when IPIV[ i ] != i (column-major, nrhs > 1)', function test( t ) {
399+
var expectedX;
400+
var IPIV;
401+
var data;
402+
var DU2;
403+
var DU;
404+
var DL;
405+
var D;
406+
var B;
407+
var X;
408+
409+
data = COL_MAJOR_NO_TRANS_IPIV_NE_I;
410+
411+
DL = new Float64Array( data.DL );
412+
D = new Float64Array( data.D );
413+
DU = new Float64Array( data.DU );
414+
DU2 = new Float64Array( data.DU2 );
415+
IPIV = new Int32Array( data.IPIV );
416+
B = new Float64Array( data.B );
417+
418+
X = dgtts2( data.order, data.itrans, data.N, data.nrhs, DL, D, DU, DU2, IPIV, B, data.LDB );
419+
420+
expectedX = new Float64Array( data.expected );
421+
t.deepEqual( X, expectedX, 'returns expected value' );
422+
423+
t.end();
424+
});
425+
426+
tape( 'the function solves A**T * X = B when IPIV[ i ] != i (row-major, nrhs > 1)', function test( t ) {
427+
var expectedX;
428+
var IPIV;
429+
var data;
430+
var DU2;
431+
var DU;
432+
var DL;
433+
var D;
434+
var B;
435+
var X;
436+
437+
data = ROW_MAJOR_TRANS_IPIV_NE_I;
438+
439+
DL = new Float64Array( data.DL );
440+
D = new Float64Array( data.D );
441+
DU = new Float64Array( data.DU );
442+
DU2 = new Float64Array( data.DU2 );
443+
IPIV = new Int32Array( data.IPIV );
444+
B = new Float64Array( data.B );
445+
446+
X = dgtts2( data.order, data.itrans, data.N, data.nrhs, DL, D, DU, DU2, IPIV, B, data.LDB );
447+
448+
expectedX = new Float64Array( data.expected );
449+
t.deepEqual( X, expectedX, 'returns expected value' );
450+
451+
t.end();
452+
});
453+
454+
tape( 'the function solves A * X = B when IPIV[ i ] != i (row-major, nrhs > 1)', function test( t ) {
455+
var expectedX;
456+
var IPIV;
457+
var data;
458+
var DU2;
459+
var DU;
460+
var DL;
461+
var D;
462+
var B;
463+
var X;
464+
465+
data = ROW_MAJOR_NO_TRANS_IPIV_NE_I;
466+
467+
DL = new Float64Array( data.DL );
468+
D = new Float64Array( data.D );
469+
DU = new Float64Array( data.DU );
470+
DU2 = new Float64Array( data.DU2 );
471+
IPIV = new Int32Array( data.IPIV );
472+
B = new Float64Array( data.B );
473+
474+
X = dgtts2( data.order, data.itrans, data.N, data.nrhs, DL, D, DU, DU2, IPIV, B, data.LDB );
475+
476+
expectedX = new Float64Array( data.expected );
477+
t.deepEqual( X, expectedX, 'returns expected value' );
478+
479+
t.end();
480+
});

0 commit comments

Comments
 (0)