Skip to content

Commit ee429f0

Browse files
committed
test: add lower triangular cases
--- 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 51984dc commit ee429f0

File tree

5 files changed

+163
-12
lines changed

5 files changed

+163
-12
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": "non-unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 2.0, 1.0, -1.0, 0.0, 3.0, 2.0, 0.0, 0.0, 4.0 ],
13+
"strideA1": 1,
14+
"strideA2": 3,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 2.0, 0.0, 0.0 ],
19+
[ 1.0, 3.0, 0.0 ],
20+
[ -1.0, 2.0, 4.0 ]
21+
],
22+
23+
"X": [ 5.0, 10.0, 20.0 ],
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.5, 2.5, 4.375 ],
32+
"expectedCNORM": [ 2.0, 2.0, 0.0 ],
33+
"scale": 1.0
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": "non-unit",
7+
"normin": "no",
8+
9+
"N": 3,
10+
"LDA": 3,
11+
12+
"A": [ 2.0, 0.0, 0.0, 1.0, 3.0, 0.0, -1.0, 2.0, 4.0 ],
13+
"strideA1": 3,
14+
"strideA2": 1,
15+
"offsetA": 0,
16+
17+
"A_mat": [
18+
[ 2.0, 0.0, 0.0 ],
19+
[ 1.0, 3.0, 0.0 ],
20+
[ -1.0, 2.0, 4.0 ]
21+
],
22+
23+
"X": [ 5.0, 10.0, 20.0 ],
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.5, 2.5, 4.375 ],
32+
"expectedCNORM": [ 2.0, 2.0, 0.0 ],
33+
"scale": 1.0
34+
}

lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/col_major.json renamed to lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/no_trans_upper_col_major.json

File renamed without changes.

lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/row_major.json renamed to lib/node_modules/@stdlib/lapack/base/dlatrs/test/fixtures/no_trans_upper_row_major.json

File renamed without changes.

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

Lines changed: 95 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ var dlatrs = require( './../lib/dlatrs.js' );
2929

3030
// FIXTURES //
3131

32-
var ROW_MAJOR = require( './fixtures/row_major.json' );
33-
var COL_MAJOR = require( './fixtures/col_major.json' );
32+
var NO_TRANS_UPPER_ROW_MAJOR = require( './fixtures/no_trans_upper_row_major.json' );
33+
var NO_TRANS_UPPER_COL_MAJOR = require( './fixtures/no_trans_upper_col_major.json' );
34+
var NO_TRANS_LOWER_ROW_MAJOR = require( './fixtures/no_trans_lower_row_major.json' );
35+
var NO_TRANS_LOWER_COL_MAJOR = require( './fixtures/no_trans_lower_col_major.json' );
3436

3537

3638
// TESTS //
@@ -54,7 +56,7 @@ tape( 'the function throws an error if provided a first argument which is not a
5456
var X;
5557
var i;
5658

57-
data = COL_MAJOR;
59+
data = NO_TRANS_UPPER_COL_MAJOR;
5860

5961
A = new Float64Array( data.A );
6062
X = new Float64Array( data.X );
@@ -96,7 +98,7 @@ tape( 'the function throws an error if provided a second argument which is not a
9698
var X;
9799
var i;
98100

99-
data = COL_MAJOR;
101+
data = NO_TRANS_UPPER_COL_MAJOR;
100102

101103
A = new Float64Array( data.A );
102104
X = new Float64Array( data.X );
@@ -138,7 +140,7 @@ tape( 'the function throws an error if provided a third argument which is not a
138140
var X;
139141
var i;
140142

141-
data = COL_MAJOR;
143+
data = NO_TRANS_UPPER_COL_MAJOR;
142144

143145
A = new Float64Array( data.A );
144146
X = new Float64Array( data.X );
@@ -180,7 +182,7 @@ tape( 'the function throws an error if provided a fourth argument which is not a
180182
var X;
181183
var i;
182184

183-
data = COL_MAJOR;
185+
data = NO_TRANS_UPPER_COL_MAJOR;
184186

185187
A = new Float64Array( data.A );
186188
X = new Float64Array( data.X );
@@ -222,7 +224,7 @@ tape( 'the function throws an error if provided a fifth argument which is not ye
222224
var X;
223225
var i;
224226

225-
data = COL_MAJOR;
227+
data = NO_TRANS_UPPER_COL_MAJOR;
226228

227229
A = new Float64Array( data.A );
228230
X = new Float64Array( data.X );
@@ -264,7 +266,7 @@ tape( 'the function throws an error if provided the seventh argument is not a va
264266
var X;
265267
var i;
266268

267-
data = ROW_MAJOR;
269+
data = NO_TRANS_UPPER_ROW_MAJOR;
268270

269271
A = new Float64Array( data.A );
270272
X = new Float64Array( data.X );
@@ -288,7 +290,7 @@ tape( 'the function throws an error if provided the seventh argument is not a va
288290
}
289291
});
290292

291-
tape( 'the function returns expected output for normal values (row-major)', function test( t ) {
293+
tape( 'the function returns the arrays unchanged for N = 0', function test( t ) {
292294
var expectedCNORM;
293295
var expectedX;
294296
var scale;
@@ -297,7 +299,88 @@ tape( 'the function returns expected output for normal values (row-major)', func
297299
var A;
298300
var X;
299301

300-
data = ROW_MAJOR;
302+
data = NO_TRANS_UPPER_ROW_MAJOR;
303+
304+
A = new Float64Array( data.A );
305+
CNORM = new Float64Array( data.CNORM );
306+
X = new Float64Array( data.X );
307+
308+
expectedCNORM = new Float64Array( data.CNORM );
309+
expectedX = new Float64Array( data.X );
310+
311+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, 0, A, data.LDA, X, CNORM );
312+
313+
t.strictEqual( scale, data.scale, 'returns expected value' );
314+
t.deepEqual( X, expectedX, 'returns expected value' );
315+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
316+
317+
t.end();
318+
});
319+
320+
tape( 'the function returns expected output for normal values (row-major) (upper triangular) (no-transpose)', function test( t ) {
321+
var expectedCNORM;
322+
var expectedX;
323+
var scale;
324+
var CNORM;
325+
var data;
326+
var A;
327+
var X;
328+
329+
data = NO_TRANS_UPPER_ROW_MAJOR;
330+
331+
A = new Float64Array( data.A );
332+
CNORM = new Float64Array( data.CNORM );
333+
X = new Float64Array( data.X );
334+
335+
expectedCNORM = new Float64Array( data.expectedCNORM );
336+
expectedX = new Float64Array( data.expectedX );
337+
338+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
339+
340+
t.strictEqual( scale, data.scale, 'returns expected value' );
341+
t.deepEqual( X, expectedX, 'returns expected value' );
342+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
343+
344+
t.end();
345+
});
346+
347+
tape( 'the function returns expected output for normal values (column-major) (upper triangular) (no-transpose)', function test( t ) {
348+
var expectedCNORM;
349+
var expectedX;
350+
var scale;
351+
var CNORM;
352+
var data;
353+
var A;
354+
var X;
355+
356+
data = NO_TRANS_UPPER_COL_MAJOR;
357+
358+
A = new Float64Array( data.A );
359+
CNORM = new Float64Array( data.CNORM );
360+
X = new Float64Array( data.X );
361+
362+
expectedCNORM = new Float64Array( data.expectedCNORM );
363+
expectedX = new Float64Array( data.expectedX );
364+
365+
scale = dlatrs( data.order, data.uplo, data.trans, data.diag, data.normin, data.N, A, data.LDA, X, CNORM );
366+
367+
t.strictEqual( scale, data.scale, 'returns expected value' );
368+
t.deepEqual( X, expectedX, 'returns expected value' );
369+
t.deepEqual( CNORM, expectedCNORM, 'returns expected value' );
370+
371+
t.end();
372+
});
373+
374+
tape( 'the function returns expected output for normal values (row-major) (lower triangular) (no-transpose)', function test( t ) {
375+
var expectedCNORM;
376+
var expectedX;
377+
var scale;
378+
var CNORM;
379+
var data;
380+
var A;
381+
var X;
382+
383+
data = NO_TRANS_LOWER_ROW_MAJOR;
301384

302385
A = new Float64Array( data.A );
303386
CNORM = new Float64Array( data.CNORM );
@@ -315,7 +398,7 @@ tape( 'the function returns expected output for normal values (row-major)', func
315398
t.end();
316399
});
317400

318-
tape( 'the function returns expected output for normal values (column-major)', function test( t ) {
401+
tape( 'the function returns expected output for normal values (column-major) (lower triangular) (no-transpose)', function test( t ) {
319402
var expectedCNORM;
320403
var expectedX;
321404
var scale;
@@ -324,7 +407,7 @@ tape( 'the function returns expected output for normal values (column-major)', f
324407
var A;
325408
var X;
326409

327-
data = COL_MAJOR;
410+
data = NO_TRANS_LOWER_COL_MAJOR;
328411

329412
A = new Float64Array( data.A );
330413
CNORM = new Float64Array( data.CNORM );

0 commit comments

Comments
 (0)