Skip to content

Commit b1267d7

Browse files
ShabiShett07kgryte
andauthored
test: add test cases for blas/base/ssyr2
PR-URL: #7133 Co-authored-by: Athan Reines <[email protected]> Reviewed-by: Athan Reines <[email protected]>
1 parent d135424 commit b1267d7

File tree

5 files changed

+168
-0
lines changed

5 files changed

+168
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"order": "column-major",
3+
"uplo": "lower",
4+
"N": 3,
5+
"alpha": 2.0,
6+
"x": [ 0.0, 0.0, 1.0, 2.0, 3.0 ],
7+
"strideX": 1,
8+
"offsetX": 2,
9+
"y": [ 1.0, 2.0, 3.0 ],
10+
"strideY": 1,
11+
"offsetY": 0,
12+
"A": [ 1.0, 1.0, 1.0, 0.0, 2.0, 2.0, 0.0, 0.0, 3.0 ],
13+
"lda": 3,
14+
"strideA1": 1,
15+
"strideA2": 3,
16+
"offsetA": 0,
17+
"A_out": [ 5.0, 9.0, 13.0, 0.0, 18.0, 26.0, 0.0, 0.0, 39.0 ]
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"order": "column-major",
3+
"uplo": "lower",
4+
"N": 3,
5+
"alpha": 2.0,
6+
"x": [ 1.0, 2.0, 3.0 ],
7+
"strideX": 1,
8+
"offsetX": 0,
9+
"y": [ 0.0, 0.0, 1.0, 2.0, 3.0 ],
10+
"strideY": 1,
11+
"offsetY": 2,
12+
"A": [ 1.0, 1.0, 1.0, 0.0, 2.0, 2.0, 0.0, 0.0, 3.0 ],
13+
"lda": 3,
14+
"strideA1": 1,
15+
"strideA2": 3,
16+
"offsetA": 0,
17+
"A_out": [ 5.0, 9.0, 13.0, 0.0, 18.0, 26.0, 0.0, 0.0, 39.0 ]
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"order": "row-major",
3+
"uplo": "lower",
4+
"N": 3,
5+
"alpha": 2.0,
6+
"x": [ 0.0, 0.0, 1.0, 2.0, 3.0 ],
7+
"strideX": 1,
8+
"offsetX": 2,
9+
"y": [ 1.0, 2.0, 3.0 ],
10+
"strideY": 1,
11+
"offsetY": 0,
12+
"A": [ 1.0, 0.0, 0.0, 1.0, 2.0, 0.0, 1.0, 2.0, 3.0 ],
13+
"lda": 3,
14+
"strideA1": 3,
15+
"strideA2": 1,
16+
"offsetA": 0,
17+
"A_out": [ 5.0, 0.0, 0.0, 9.0, 18.0, 0.0, 13.0, 26.0, 39.0 ]
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"order": "row-major",
3+
"uplo": "lower",
4+
"N": 3,
5+
"alpha": 2.0,
6+
"x": [ 1.0, 2.0, 3.0 ],
7+
"strideX": 1,
8+
"offsetX": 0,
9+
"y": [ 0.0, 0.0, 1.0, 2.0, 3.0 ],
10+
"strideY": 1,
11+
"offsetY": 2,
12+
"A": [ 1.0, 0.0, 0.0, 1.0, 2.0, 0.0, 1.0, 2.0, 3.0 ],
13+
"lda": 3,
14+
"strideA1": 3,
15+
"strideA2": 1,
16+
"offsetA": 0,
17+
"A_out": [ 5.0, 0.0, 0.0, 9.0, 18.0, 0.0, 13.0, 26.0, 39.0 ]
18+
}

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

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ var rxnyp = require( './fixtures/row_major_xnyp.json' );
3737
var rxpyn = require( './fixtures/row_major_xpyn.json' );
3838
var rxnyn = require( './fixtures/row_major_xnyn.json' );
3939
var roa = require( './fixtures/row_major_oa.json' );
40+
var rox = require( './fixtures/row_major_ox.json' );
41+
var roy = require( './fixtures/row_major_oy.json' );
4042
var rsa1sa2 = require( './fixtures/row_major_sa1_sa2.json' );
4143
var rsa1nsa2 = require( './fixtures/row_major_sa1n_sa2.json' );
4244
var rsa1sa2n = require( './fixtures/row_major_sa1_sa2n.json' );
@@ -51,6 +53,8 @@ var cxnyp = require( './fixtures/column_major_xnyp.json' );
5153
var cxpyn = require( './fixtures/column_major_xpyn.json' );
5254
var cxnyn = require( './fixtures/column_major_xnyn.json' );
5355
var coa = require( './fixtures/column_major_oa.json' );
56+
var cox = require( './fixtures/column_major_ox.json' );
57+
var coy = require( './fixtures/column_major_oy.json' );
5458
var csa1sa2 = require( './fixtures/column_major_sa1_sa2.json' );
5559
var csa1nsa2 = require( './fixtures/column_major_sa1n_sa2.json' );
5660
var csa1sa2n = require( './fixtures/column_major_sa1_sa2n.json' );
@@ -839,6 +843,98 @@ tape( 'the function supports specifying negative strides for `x` and `y` (column
839843
t.end();
840844
});
841845

846+
tape( 'the function supports specifying an `x` offset (row-major)', function test( t ) {
847+
var expected;
848+
var data;
849+
var out;
850+
var a;
851+
var x;
852+
var y;
853+
854+
data = rox;
855+
856+
a = new Float32Array( data.A );
857+
x = new Float32Array( data.x );
858+
y = new Float32Array( data.y );
859+
860+
expected = new Float32Array( data.A_out );
861+
862+
out = ssyr2( data.uplo, data.N, data.alpha, x, data.strideX, data.offsetX, y, data.strideY, data.offsetY, a, data.strideA1, data.strideA2, data.offsetA );
863+
t.strictEqual( out, a, 'returns expected value' );
864+
t.deepEqual( out, expected, 'returns expected value' );
865+
866+
t.end();
867+
});
868+
869+
tape( 'the function supports specifying an `x` offset (column-major)', function test( t ) {
870+
var expected;
871+
var data;
872+
var out;
873+
var a;
874+
var x;
875+
var y;
876+
877+
data = cox;
878+
879+
a = new Float32Array( data.A );
880+
x = new Float32Array( data.x );
881+
y = new Float32Array( data.y );
882+
883+
expected = new Float32Array( data.A_out );
884+
885+
out = ssyr2( data.uplo, data.N, data.alpha, x, data.strideX, data.offsetX, y, data.strideY, data.offsetY, a, data.strideA1, data.strideA2, data.offsetA );
886+
t.strictEqual( out, a, 'returns expected value' );
887+
t.deepEqual( out, expected, 'returns expected value' );
888+
889+
t.end();
890+
});
891+
892+
tape( 'the function supports specifying a `y` offset (row-major)', function test( t ) {
893+
var expected;
894+
var data;
895+
var out;
896+
var a;
897+
var x;
898+
var y;
899+
900+
data = roy;
901+
902+
a = new Float32Array( data.A );
903+
x = new Float32Array( data.x );
904+
y = new Float32Array( data.y );
905+
906+
expected = new Float32Array( data.A_out );
907+
908+
out = ssyr2( data.uplo, data.N, data.alpha, x, data.strideX, data.offsetX, y, data.strideY, data.offsetY, a, data.strideA1, data.strideA2, data.offsetA );
909+
t.strictEqual( out, a, 'returns expected value' );
910+
t.deepEqual( out, expected, 'returns expected value' );
911+
912+
t.end();
913+
});
914+
915+
tape( 'the function supports specifying a `y` offset (column-major)', function test( t ) {
916+
var expected;
917+
var data;
918+
var out;
919+
var a;
920+
var x;
921+
var y;
922+
923+
data = coy;
924+
925+
a = new Float32Array( data.A );
926+
x = new Float32Array( data.x );
927+
y = new Float32Array( data.y );
928+
929+
expected = new Float32Array( data.A_out );
930+
931+
out = ssyr2( data.uplo, data.N, data.alpha, x, data.strideX, data.offsetX, y, data.strideY, data.offsetY, a, data.strideA1, data.strideA2, data.offsetA );
932+
t.strictEqual( out, a, 'returns expected value' );
933+
t.deepEqual( out, expected, 'returns expected value' );
934+
935+
t.end();
936+
});
937+
842938
tape( 'the function supports complex access patterns (row-major)', function test( t ) {
843939
var expected;
844940
var data;

0 commit comments

Comments
 (0)