diff --git a/lib/node_modules/@stdlib/blas/base/dsyr/test/fixtures/column_major_ox.json b/lib/node_modules/@stdlib/blas/base/dsyr/test/fixtures/column_major_ox.json new file mode 100644 index 000000000000..13972880966a --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/dsyr/test/fixtures/column_major_ox.json @@ -0,0 +1,13 @@ +{ + "uplo": "lower", + "N": 3, + "alpha": 2.0, + "x": [ 0.0, 0.0, 1.0, 2.0, 3.0 ], + "strideX": 1, + "offsetX": 2, + "A": [ 1.0, 1.0, 1.0, 0.0, 2.0, 2.0, 0.0, 0.0, 3.0 ], + "strideA1": 1, + "strideA2": 3, + "offsetA": 0, + "A_out": [ 3.0, 5.0, 7.0, 0.0, 10.0, 14.0, 0.0, 0.0, 21.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/dsyr/test/fixtures/row_major_ox.json b/lib/node_modules/@stdlib/blas/base/dsyr/test/fixtures/row_major_ox.json new file mode 100644 index 000000000000..930c4d94fc99 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/dsyr/test/fixtures/row_major_ox.json @@ -0,0 +1,13 @@ +{ + "uplo": "lower", + "N": 3, + "alpha": 2.0, + "x": [ 0.0, 0.0, 1.0, 2.0, 3.0 ], + "strideX": 1, + "offsetX": 2, + "A": [ 1.0, 0.0, 0.0, 1.0, 2.0, 0.0, 1.0, 2.0, 3.0 ], + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 3.0, 0.0, 0.0, 5.0, 10.0, 0.0, 7.0, 14.0, 21.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/dsyr/test/test.ndarray.js b/lib/node_modules/@stdlib/blas/base/dsyr/test/test.ndarray.js index fb06e5cc56f2..8dc91b7fe2f6 100644 --- a/lib/node_modules/@stdlib/blas/base/dsyr/test/test.ndarray.js +++ b/lib/node_modules/@stdlib/blas/base/dsyr/test/test.ndarray.js @@ -34,6 +34,7 @@ var rl = require( './fixtures/row_major_l.json' ); var rxp = require( './fixtures/row_major_xp.json' ); var rxn = require( './fixtures/row_major_xn.json' ); var roa = require( './fixtures/row_major_oa.json' ); +var rox = require( './fixtures/row_major_ox.json' ); var rsa1sa2 = require( './fixtures/row_major_sa1_sa2.json' ); var rsa1nsa2 = require( './fixtures/row_major_sa1n_sa2.json' ); var rsa1sa2n = require( './fixtures/row_major_sa1_sa2n.json' ); @@ -45,6 +46,7 @@ var cl = require( './fixtures/column_major_l.json' ); var cxp = require( './fixtures/column_major_xp.json' ); var cxn = require( './fixtures/column_major_xn.json' ); var coa = require( './fixtures/column_major_oa.json' ); +var cox = require( './fixtures/column_major_ox.json' ); var csa1sa2 = require( './fixtures/column_major_sa1_sa2.json' ); var csa1nsa2 = require( './fixtures/column_major_sa1n_sa2.json' ); 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 t.end(); }); +tape( 'the function supports specifying an `x` offset (row-major)', function test( t ) { + var expected; + var data; + var out; + var a; + var x; + + data = rox; + + a = new Float64Array( data.A ); + x = new Float64Array( data.x ); + + expected = new Float64Array( data.A_out ); + + out = dsyr( data.uplo, data.N, data.alpha, x, data.strideX, data.offsetX, a, data.strideA1, data.strideA2, data.offsetA ); + t.strictEqual( out, a, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + + t.end(); +}); + +tape( 'the function supports specifying an `x` offset (column-major)', function test( t ) { + var expected; + var data; + var out; + var a; + var x; + + data = cox; + + a = new Float64Array( data.A ); + x = new Float64Array( data.x ); + + expected = new Float64Array( data.A_out ); + + out = dsyr( data.uplo, data.N, data.alpha, x, data.strideX, data.offsetX, a, data.strideA1, data.strideA2, data.offsetA ); + t.strictEqual( out, a, 'returns expected value' ); + t.deepEqual( out, expected, 'returns expected value' ); + + t.end(); +}); + tape( 'the function supports complex access patterns (row-major)', function test( t ) { var expected; var data;