Skip to content

Commit 6555228

Browse files
authored
test: add test cases for blas/base/dsyr
PR-URL: #7128 Reviewed-by: Athan Reines <[email protected]>
1 parent 0b4a818 commit 6555228

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"uplo": "lower",
3+
"N": 3,
4+
"alpha": 2.0,
5+
"x": [ 0.0, 0.0, 1.0, 2.0, 3.0 ],
6+
"strideX": 1,
7+
"offsetX": 2,
8+
"A": [ 1.0, 1.0, 1.0, 0.0, 2.0, 2.0, 0.0, 0.0, 3.0 ],
9+
"strideA1": 1,
10+
"strideA2": 3,
11+
"offsetA": 0,
12+
"A_out": [ 3.0, 5.0, 7.0, 0.0, 10.0, 14.0, 0.0, 0.0, 21.0 ]
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"uplo": "lower",
3+
"N": 3,
4+
"alpha": 2.0,
5+
"x": [ 0.0, 0.0, 1.0, 2.0, 3.0 ],
6+
"strideX": 1,
7+
"offsetX": 2,
8+
"A": [ 1.0, 0.0, 0.0, 1.0, 2.0, 0.0, 1.0, 2.0, 3.0 ],
9+
"strideA1": 3,
10+
"strideA2": 1,
11+
"offsetA": 0,
12+
"A_out": [ 3.0, 0.0, 0.0, 5.0, 10.0, 0.0, 7.0, 14.0, 21.0 ]
13+
}

lib/node_modules/@stdlib/blas/base/dsyr/test/test.ndarray.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ var rl = require( './fixtures/row_major_l.json' );
3434
var rxp = require( './fixtures/row_major_xp.json' );
3535
var rxn = require( './fixtures/row_major_xn.json' );
3636
var roa = require( './fixtures/row_major_oa.json' );
37+
var rox = require( './fixtures/row_major_ox.json' );
3738
var rsa1sa2 = require( './fixtures/row_major_sa1_sa2.json' );
3839
var rsa1nsa2 = require( './fixtures/row_major_sa1n_sa2.json' );
3940
var rsa1sa2n = require( './fixtures/row_major_sa1_sa2n.json' );
@@ -45,6 +46,7 @@ var cl = require( './fixtures/column_major_l.json' );
4546
var cxp = require( './fixtures/column_major_xp.json' );
4647
var cxn = require( './fixtures/column_major_xn.json' );
4748
var coa = require( './fixtures/column_major_oa.json' );
49+
var cox = require( './fixtures/column_major_ox.json' );
4850
var csa1sa2 = require( './fixtures/column_major_sa1_sa2.json' );
4951
var csa1nsa2 = require( './fixtures/column_major_sa1n_sa2.json' );
5052
var csa1sa2n = require( './fixtures/column_major_sa1_sa2n.json' );
@@ -630,6 +632,48 @@ tape( 'the function supports specifying a negative `x` stride (column-major)', f
630632
t.end();
631633
});
632634

635+
tape( 'the function supports specifying an `x` offset (row-major)', function test( t ) {
636+
var expected;
637+
var data;
638+
var out;
639+
var a;
640+
var x;
641+
642+
data = rox;
643+
644+
a = new Float64Array( data.A );
645+
x = new Float64Array( data.x );
646+
647+
expected = new Float64Array( data.A_out );
648+
649+
out = dsyr( data.uplo, data.N, data.alpha, x, data.strideX, data.offsetX, a, data.strideA1, data.strideA2, data.offsetA );
650+
t.strictEqual( out, a, 'returns expected value' );
651+
t.deepEqual( out, expected, 'returns expected value' );
652+
653+
t.end();
654+
});
655+
656+
tape( 'the function supports specifying an `x` offset (column-major)', function test( t ) {
657+
var expected;
658+
var data;
659+
var out;
660+
var a;
661+
var x;
662+
663+
data = cox;
664+
665+
a = new Float64Array( data.A );
666+
x = new Float64Array( data.x );
667+
668+
expected = new Float64Array( data.A_out );
669+
670+
out = dsyr( data.uplo, data.N, data.alpha, x, data.strideX, data.offsetX, a, data.strideA1, data.strideA2, data.offsetA );
671+
t.strictEqual( out, a, 'returns expected value' );
672+
t.deepEqual( out, expected, 'returns expected value' );
673+
674+
t.end();
675+
});
676+
633677
tape( 'the function supports complex access patterns (row-major)', function test( t ) {
634678
var expected;
635679
var data;

0 commit comments

Comments
 (0)