Skip to content

Commit 6956d09

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 2a5a501 commit 6956d09

File tree

4 files changed

+211
-11
lines changed

4 files changed

+211
-11
lines changed

lib/node_modules/@stdlib/lapack/base/dorm2r/test/fixtures/left_notrans_col_major.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
"K": 3,
88

99
"A_mat": [
10-
[ 1.0, 2.0, 3.0 ],
11-
[ 0.0, 4.0, 5.0 ],
12-
[ 0.0, 0.0, 6.0 ]
10+
[ 1.0, 0.0, 0.0 ],
11+
[ 2.0, 4.0, 0.0 ],
12+
[ 3.0, 5.0, 6.0 ]
1313
],
1414
"LDA": 3,
1515
"strideA1": 1,
@@ -22,24 +22,24 @@
2222
"offsetTau": 0,
2323

2424
"C_mat": [
25-
[ 1.0, 4.0, 7.0 ],
26-
[ 2.0, 5.0, 8.0 ],
27-
[ 3.0, 6.0, 9.0 ]
25+
[ 1.0, 2.0, 3.0 ],
26+
[ 4.0, 5.0, 6.0 ],
27+
[ 7.0, 8.0, 9.0 ]
2828
],
2929
"LDC": 3,
3030
"strideC1": 1,
3131
"strideC2": 3,
3232
"offsetC": 0,
33-
"C": [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0 ],
33+
"C": [ 1.0, 4.0, 7.0, 2.0, 5.0, 8.0, 3.0, 6.0, 9.0 ],
3434

3535
"work": [ 0.0, 0.0, 0.0 ],
3636
"strideWork": 1,
3737
"offsetWork": 0,
3838

3939
"C_out_mat": [
40-
[ -261638.0, -521066.0, -773933.0 ],
41-
[ -298618.0, -594715.0, -883324.0 ],
42-
[ -335598.0, -668364.0, -992715.0 ]
40+
[ -261638.0, -298618.0, -335598.0 ],
41+
[ -521066.0, -594715.0, -668364.0 ],
42+
[ -773933.0, -883324.0, -992715.0 ]
4343
],
44-
"C_out": [ -261638.0, -298618.0, -335598.0, -521066.0, -594715.0, -668364.0, -773933.0, -883324.0, -992715.0 ]
44+
"C_out": [ -261638.0, -521066.0, -773933.0, -298618.0, -594715.0, -883324.0, -335598.0, -668364.0, -992715.0 ]
4545
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"order": "column-major",
3+
"side": "left",
4+
"trans": "transpose",
5+
"M": 3,
6+
"N": 3,
7+
"K": 3,
8+
9+
"A_mat": [
10+
[ 1.0, 0.0, 0.0 ],
11+
[ 2.0, 4.0, 0.0 ],
12+
[ 3.0, 5.0, 6.0 ]
13+
],
14+
"LDA": 3,
15+
"strideA1": 1,
16+
"strideA2": 3,
17+
"offsetA": 0,
18+
"A": [ 1.0, 2.0, 3.0, 0.0, 4.0, 5.0, 0.0, 0.0, 6.0 ],
19+
20+
"tau": [ 7.0, 8.0, 9.0 ],
21+
"strideTau": 1,
22+
"offsetTau": 0,
23+
24+
"C_mat": [
25+
[ 1.0, 2.0, 3.0 ],
26+
[ 4.0, 5.0, 6.0 ],
27+
[ 7.0, 8.0, 9.0 ]
28+
],
29+
"LDC": 3,
30+
"strideC1": 1,
31+
"strideC2": 3,
32+
"offsetC": 0,
33+
"C": [ 1.0, 4.0, 7.0, 2.0, 5.0, 8.0, 3.0, 6.0, 9.0 ],
34+
35+
"work": [ 0.0, 0.0, 0.0 ],
36+
"strideWork": 1,
37+
"offsetWork": 0,
38+
39+
"C_out_mat": [
40+
[ -209.0, -250.0, -291.0 ],
41+
[ 27832.0, 33413.0, 38994.0 ],
42+
[ -1124936.0, -1350496.0, -1576056.0 ]
43+
],
44+
"C_out": [ -209.0, 27832.0, -1124936.0, -250.0, 33413.0, -1350496.0, -291.0, 38994.0, -1576056.0 ]
45+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"order": "row-major",
3+
"side": "left",
4+
"trans": "transpose",
5+
"M": 3,
6+
"N": 3,
7+
"K": 3,
8+
9+
"A_mat": [
10+
[ 10.0, 0.0, 0.0 ],
11+
[ 20.0, 30.0, 0.0 ],
12+
[ 40.0, 50.0, 60.0 ]
13+
],
14+
"LDA": 3,
15+
"strideA1": 3,
16+
"strideA2": 1,
17+
"offsetA": 0,
18+
"A": [ 10.0, 0.0, 0.0, 20.0, 30.0, 0.0, 40.0, 50.0, 60.0 ],
19+
20+
"tau": [ 2.0, 3.0, 4.0 ],
21+
"strideTau": 1,
22+
"offsetTau": 0,
23+
24+
"C_mat": [
25+
[ 7.0, 9.0, 11.0 ],
26+
[ 12.0, 14.0, 16.0 ],
27+
[ 17.0, 19.0, 21.0 ]
28+
],
29+
"LDC": 3,
30+
"strideC1": 3,
31+
"strideC2": 1,
32+
"offsetC": 0,
33+
"C": [ 7.0, 9.0, 11.0, 12.0, 14.0, 16.0, 17.0, 19.0, 21.0 ],
34+
35+
"work": [ 0.0, 0.0, 0.0 ],
36+
"strideWork": 1,
37+
"offsetWork": 0,
38+
39+
"C_out_mat": [
40+
[ -1847.0, -2089.0, -2331.0 ],
41+
[ 11195586.0, 12669042.0, 14142498.0 ],
42+
[ -1684675671.0, -1906396497.0, -2128117323.0 ]
43+
],
44+
"C_out": [ -1847.0, -2089.0, -2331.0, 11195586.0, 12669042.0, 14142498.0, -1684675671.0, -1906396497.0, -2128117323.0 ]
45+
}

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

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
* limitations under the License.
1717
*/
1818

19+
/* eslint-disable max-len */
20+
1921
'use strict';
2022

2123
// MODULES //
@@ -25,6 +27,14 @@ var Float64Array = require( '@stdlib/array/float64' );
2527
var dorm2r = require( './../lib/dorm2r.js' );
2628

2729

30+
// FIXTURES //
31+
32+
var LEFT_NOTRANS_ROW_MAJOR = require( './fixtures/left_notrans_row_major.json' );
33+
var LEFT_NOTRANS_COL_MAJOR = require( './fixtures/left_notrans_col_major.json' );
34+
var LEFT_TRANS_ROW_MAJOR = require( './fixtures/left_trans_row_major.json' );
35+
var LEFT_TRANS_COL_MAJOR = require( './fixtures/left_trans_col_major.json' );
36+
37+
2838
// TESTS //
2939

3040
tape( 'main export is a function', function test( t ) {
@@ -253,3 +263,103 @@ tape( 'the function throws an error if provided a twelfth argument which is not
253263
};
254264
}
255265
});
266+
267+
tape( 'the function applies Q from the left without transpose (row-major)', function test( t ) {
268+
var expected;
269+
var work;
270+
var data;
271+
var tau;
272+
var out;
273+
var A;
274+
var C;
275+
276+
data = LEFT_NOTRANS_ROW_MAJOR;
277+
278+
A = new Float64Array( data.A );
279+
tau = new Float64Array( data.tau );
280+
C = new Float64Array( data.C );
281+
work = new Float64Array( data.work );
282+
283+
expected = new Float64Array( data.C_out );
284+
285+
out = dorm2r( data.order, data.side, data.trans, data.M, data.N, data.K, A, data.LDA, tau, C, data.LDC, work );
286+
t.strictEqual( out, C, 'returns expected value' );
287+
t.deepEqual( out, expected, 'returns expected value' );
288+
289+
t.end();
290+
});
291+
292+
tape( 'the function applies Q from the left without transpose (column-major)', function test( t ) {
293+
var expected;
294+
var work;
295+
var data;
296+
var tau;
297+
var out;
298+
var A;
299+
var C;
300+
301+
data = LEFT_NOTRANS_COL_MAJOR;
302+
303+
A = new Float64Array( data.A );
304+
tau = new Float64Array( data.tau );
305+
C = new Float64Array( data.C );
306+
work = new Float64Array( data.work );
307+
308+
expected = new Float64Array( data.C_out );
309+
310+
out = dorm2r( data.order, data.side, data.trans, data.M, data.N, data.K, A, data.LDA, tau, C, data.LDC, work );
311+
t.strictEqual( out, C, 'returns expected value' );
312+
t.deepEqual( out, expected, 'returns expected value' );
313+
314+
t.end();
315+
});
316+
317+
tape( 'the function applies Q from the left with transpose (row-major)', function test( t ) {
318+
var expected;
319+
var work;
320+
var data;
321+
var tau;
322+
var out;
323+
var A;
324+
var C;
325+
326+
data = LEFT_TRANS_ROW_MAJOR;
327+
328+
A = new Float64Array( data.A );
329+
tau = new Float64Array( data.tau );
330+
C = new Float64Array( data.C );
331+
work = new Float64Array( data.work );
332+
333+
expected = new Float64Array( data.C_out );
334+
335+
out = dorm2r( data.order, data.side, data.trans, data.M, data.N, data.K, A, data.LDA, tau, C, data.LDC, work );
336+
t.strictEqual( out, C, 'returns expected value' );
337+
t.deepEqual( out, expected, 'returns expected value' );
338+
339+
t.end();
340+
});
341+
342+
tape( 'the function applies Q from the left with transpose (column-major)', function test( t ) {
343+
var expected;
344+
var work;
345+
var data;
346+
var tau;
347+
var out;
348+
var A;
349+
var C;
350+
351+
data = LEFT_TRANS_COL_MAJOR;
352+
353+
A = new Float64Array( data.A );
354+
tau = new Float64Array( data.tau );
355+
C = new Float64Array( data.C );
356+
work = new Float64Array( data.work );
357+
358+
expected = new Float64Array( data.C_out );
359+
360+
out = dorm2r( data.order, data.side, data.trans, data.M, data.N, data.K, A, data.LDA, tau, C, data.LDC, work );
361+
t.strictEqual( out, C, 'returns expected value' );
362+
t.deepEqual( out, expected, 'returns expected value' );
363+
364+
t.end();
365+
});

0 commit comments

Comments
 (0)