From 32ebb8787e7c636e488c28b979a8cc81cfb747ec Mon Sep 17 00:00:00 2001 From: Divit Date: Sat, 23 May 2026 17:10:35 +0000 Subject: [PATCH 01/10] chore: add setup for base.js --- .../@stdlib/blas/base/cgerc/lib/base.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js b/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js new file mode 100644 index 000000000000..22e2c8d7c7ae --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js @@ -0,0 +1,17 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2026 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ \ No newline at end of file From f3b6595485b34c71dcc290b0098f4c2ae07fb544 Mon Sep 17 00:00:00 2001 From: Divit Date: Wed, 27 May 2026 07:25:01 +0000 Subject: [PATCH 02/10] feat: add base implementation --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/blas/base/cgerc/lib/base.js | 164 +++++++++++++++++- 1 file changed, 163 insertions(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js b/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js index 22e2c8d7c7ae..94d36faf0ecb 100644 --- a/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js +++ b/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js @@ -14,4 +14,166 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. -*/ \ No newline at end of file +*/ + +'use strict'; + +// MODULES // + +var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major' ); +var realf = require( '@stdlib/complex/float32/real' ); +var imagf = require( '@stdlib/complex/float32/imag' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); +var reinterpret = require( '@stdlib/strided/base/reinterpret-complex64' ); +var muladd = require( '@stdlib/complex/float32/base/mul-add' ).assign; + + +// MAIN // + +/** +* Performs the rank 1 operation `A = α*x*y^T + A`, where `α` is a scalar, `x` is an `M` element vector, `y` is an `N` element vector, and `A` is an `M` by `N` matrix. +* +* @private +* @param {NonNegativeInteger} M - number of rows in the matrix `A` +* @param {NonNegativeInteger} N - number of columns in the matrix `A` +* @param {Complex64} alpha - scalar constant +* @param {Complex64Array} x - first input vector +* @param {integer} strideX - `x` stride length +* @param {NonNegativeInteger} offsetX - starting index for `x` +* @param {Complex64Array} y - second input vector +* @param {integer} strideY - `y` stride length +* @param {NonNegativeInteger} offsetY - starting index for `y` +* @param {Complex64Array} A - input matrix +* @param {integer} strideA1 - stride of the first dimension of `A` +* @param {integer} strideA2 - stride of the second dimension of `A` +* @param {NonNegativeInteger} offsetA - starting index for `A` +* @returns {Complex64Array} `A` +* +* @example +* var Complex64Array = require( '@stdlib/array/complex64' ); +* var Complex64 = require( '@stdlib/complex/float32/ctor' ); +* +* var A = new Complex64Array( [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] ); +* var x = new Complex64Array( [ 1.0, 1.0, 2.0, 2.0 ] ); +* var y = new Complex64Array( [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ] ); +* var alpha = new Complex64( 0.5, 0.5 ); +* +* cgerc( 2, 3, alpha, x, 1, 0, y, 1, 0, A, 3, 1, 0 ); +* // A => [ 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 10.0, 10.0, 9.0, 9.0, 8.0, 8.0 ] +*/ +function cgerc( M, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, strideA1, strideA2, offsetA ) { // eslint-disable-line max-params, max-len + var realpha; + var imalpha; + var viewA; + var viewX; + var viewY; + var retmp; + var imtmp; + var sign; + var cimy; + var tmp; + var rex; + var imx; + var rey; + var imy; + var sa1; + var sa2; + var da0; + var da1; + var S0; + var S1; + var oa; + var ox; + var oy; + var sx; + var sy; + var ia; + var ix; + var iy; + var i0; + var i1; + + // Note on variable naming convention: S#, da#, ia#, i# where # corresponds to the loop number, with `0` being the innermost loop... + + // Decompose scalars into real and imaginary components: + realpha = realf( alpha ); + imalpha = imagf( alpha ); + if ( realpha === 0.0 && imalpha === 0.0 ) { + return A; + } + oa = offsetA * 2; + sa1 = strideA1 * 2; + sa2 = strideA2 * 2; + ox = offsetX * 2; + oy = offsetY * 2; + sx = strideX * 2; + sy = strideY * 2; + + // Extract loop variables for purposes of loop interchange: dimensions and loop offset (pointer) increments... + if ( isRowMajor( [ strideA1, strideA2 ] ) ) { + // For row-major matrices, the last dimension has the fastest changing index... + S0 = N; + S1 = M; + da0 = sa2; // offset increment for innermost loop + da1 = sa1 - (S0*sa2); // offset increment for outermost loop + + // Swap the vectors... + tmp = x; + x = y; + y = tmp; + + tmp = sx; + sx = sy; + sy = tmp; + + tmp = ox; + ox = oy; + oy = tmp; + + sign = -1; + } else { // order === 'column-major' + // For column-major matrices, the first dimension has the fastest changing index... + S0 = M; + S1 = N; + da0 = sa1; // offset increment for innermost loop + da1 = sa2 - (S0*sa1); // offset increment for outermost loop + + sign = 1; + } + // Reinterpret arrays as real-valued views of interleaved real and imaginary components: + viewA = reinterpret( A, 0 ); + viewX = reinterpret( x, 0 ); + viewY = reinterpret( y, 0 ); + ix = ox; + iy = oy; + ia = oa; + for ( i1 = 0; i1 < S1; i1++ ) { + rey = viewY[ iy ]; + imy = viewY[ iy+1 ]; + + // Check whether we can avoid the inner loop entirely... + if ( rey === 0.0 && imy === 0.0 ) { + ia += da0 * S0; + } else { + cimy = sign * imy; + retmp = f32(f32(realpha*rey) - f32(imalpha*cimy)); + imtmp = f32(f32(realpha*cimy) + f32(imalpha*rey)); + ix = ox; + for ( i0 = 0; i0 < S0; i0++ ) { + rex = viewX[ ix ]; + imx = viewX[ ix+1 ]; + muladd( rex, imx, retmp, imtmp, viewA[ ia ], viewA[ ia+1 ], viewA, 1, ia ); // eslint-disable-line max-len + ix += sx; + ia += da0; + } + } + iy += sy; + ia += da1; + } + return A; +} + + +// EXPORTS // + +module.exports = cgerc; From 1b91fada749089b00d377a914ca891db5064597b Mon Sep 17 00:00:00 2001 From: Divit Date: Wed, 27 May 2026 07:52:13 +0000 Subject: [PATCH 03/10] refactor: refactor conjugation logic in base implementation --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/blas/base/cgerc/lib/base.js | 15 ++++--------- .../cgerc/test/fixtures/column_major.json | 22 +++++++++++++++++++ .../base/cgerc/test/fixtures/row_major.json | 22 +++++++++++++++++++ 3 files changed, 48 insertions(+), 11 deletions(-) create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major.json diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js b/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js index 94d36faf0ecb..37ded533666d 100644 --- a/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js +++ b/lib/node_modules/@stdlib/blas/base/cgerc/lib/base.js @@ -31,7 +31,7 @@ var muladd = require( '@stdlib/complex/float32/base/mul-add' ).assign; // MAIN // /** -* Performs the rank 1 operation `A = α*x*y^T + A`, where `α` is a scalar, `x` is an `M` element vector, `y` is an `N` element vector, and `A` is an `M` by `N` matrix. +* Performs the rank 1 operation `A = α*x*y^H + A`, where `α` is a scalar, `x` is an `M` element vector, `y` is an `N` element vector, and `A` is an `M` by `N` matrix. * * @private * @param {NonNegativeInteger} M - number of rows in the matrix `A` @@ -69,8 +69,6 @@ function cgerc( M, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, stride var viewY; var retmp; var imtmp; - var sign; - var cimy; var tmp; var rex; var imx; @@ -129,16 +127,12 @@ function cgerc( M, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, stride tmp = ox; ox = oy; oy = tmp; - - sign = -1; } else { // order === 'column-major' // For column-major matrices, the first dimension has the fastest changing index... S0 = M; S1 = N; da0 = sa1; // offset increment for innermost loop da1 = sa2 - (S0*sa1); // offset increment for outermost loop - - sign = 1; } // Reinterpret arrays as real-valued views of interleaved real and imaginary components: viewA = reinterpret( A, 0 ); @@ -155,14 +149,13 @@ function cgerc( M, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, stride if ( rey === 0.0 && imy === 0.0 ) { ia += da0 * S0; } else { - cimy = sign * imy; - retmp = f32(f32(realpha*rey) - f32(imalpha*cimy)); - imtmp = f32(f32(realpha*cimy) + f32(imalpha*rey)); + retmp = f32(f32(realpha*rey) - f32(imalpha*imy)); + imtmp = f32(f32(realpha*imy) + f32(imalpha*rey)); ix = ox; for ( i0 = 0; i0 < S0; i0++ ) { rex = viewX[ ix ]; imx = viewX[ ix+1 ]; - muladd( rex, imx, retmp, imtmp, viewA[ ia ], viewA[ ia+1 ], viewA, 1, ia ); // eslint-disable-line max-len + muladd( rex, -imx, retmp, imtmp, viewA[ ia ], viewA[ ia+1 ], viewA, 1, ia ); // eslint-disable-line max-len ix += sx; ia += da0; } diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major.json new file mode 100644 index 000000000000..c00185df70b5 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major.json @@ -0,0 +1,22 @@ +{ + "order": "column-major", + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 4.0, 4.0, 2.0, 2.0, 5.0, 5.0, 3.0, 3.0, 6.0, 6.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "lda": 2, + "strideA1": 1, + "strideA2": 2, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 10.0, 10.0, 4.0, 4.0, 9.0, 9.0, 4.0, 4.0, 8.0, 8.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major.json new file mode 100644 index 000000000000..0fa806d45f94 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major.json @@ -0,0 +1,22 @@ +{ + "order": "row-major", + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "lda": 3, + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 10.0, 10.0, 9.0, 9.0, 8.0, 8.0 ] +} From dab043b0abff9357dd6ec5e0f15f9904aed5c29f Mon Sep 17 00:00:00 2001 From: Divit Date: Wed, 27 May 2026 08:01:59 +0000 Subject: [PATCH 04/10] test: add matrix offset fixtures --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - 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: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../cgerc/test/fixtures/column_major_oa.json | 22 +++++++++++++++++++ .../cgerc/test/fixtures/row_major_oa.json | 22 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_oa.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_oa.json diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_oa.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_oa.json new file mode 100644 index 000000000000..2adecf906205 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_oa.json @@ -0,0 +1,22 @@ +{ + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 0.0, 0.0, 1.0, 1.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0, 2.0, 2.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0, 3.0, 3.0, 6.0, 6.0, 9.0, 9.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "strideA1": 1, + "strideA2": 4, + "offsetA": 1, + "A_out": [ 0.0, 0.0, 4.0, 4.0, 10.0, 10.0, 16.0, 16.0, 22.0, 22.0, 4.0, 4.0, 9.0, 9.0, 14.0, 14.0, 19.0, 19.0, 4.0, 4.0, 8.0, 8.0, 12.0, 12.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_oa.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_oa.json new file mode 100644 index 000000000000..968d710fb0c3 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_oa.json @@ -0,0 +1,22 @@ +{ + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "strideA1": 3, + "strideA2": 1, + "offsetA": 2, + "A_out": [ 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 10.0, 10.0, 9.0, 9.0, 8.0, 8.0, 16.0, 16.0, 14.0, 14.0, 12.0, 12.0, 22.0, 22.0, 19.0, 19.0, 16.0, 16.0 ] +} From fb5d35dad23d6951d6038c517870593492f9ec77 Mon Sep 17 00:00:00 2001 From: Divit Date: Wed, 27 May 2026 08:04:08 +0000 Subject: [PATCH 05/10] test: add vector offset fixtures --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - 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: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../cgerc/test/fixtures/column_major_ox.json | 22 +++++++++++++++++++ .../cgerc/test/fixtures/column_major_oy.json | 22 +++++++++++++++++++ .../cgerc/test/fixtures/row_major_ox.json | 22 +++++++++++++++++++ .../cgerc/test/fixtures/row_major_oy.json | 22 +++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_ox.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_oy.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_ox.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_oy.json diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_ox.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_ox.json new file mode 100644 index 000000000000..46c28b889ba9 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_ox.json @@ -0,0 +1,22 @@ +{ + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 1, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0, 2.0, 2.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0, 3.0, 3.0, 6.0, 6.0, 9.0, 9.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "strideA1": 1, + "strideA2": 4, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 10.0, 10.0, 16.0, 16.0, 22.0, 22.0, 4.0, 4.0, 9.0, 9.0, 14.0, 14.0, 19.0, 19.0, 4.0, 4.0, 8.0, 8.0, 12.0, 12.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_oy.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_oy.json new file mode 100644 index 000000000000..ebec3daab17b --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_oy.json @@ -0,0 +1,22 @@ +{ + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 0.0, 0.0, 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 1, + "A": [ 1.0, 1.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0, 2.0, 2.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0, 3.0, 3.0, 6.0, 6.0, 9.0, 9.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "strideA1": 1, + "strideA2": 4, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 10.0, 10.0, 16.0, 16.0, 22.0, 22.0, 4.0, 4.0, 9.0, 9.0, 14.0, 14.0, 19.0, 19.0, 4.0, 4.0, 8.0, 8.0, 12.0, 12.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_ox.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_ox.json new file mode 100644 index 000000000000..a7860f4477dc --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_ox.json @@ -0,0 +1,22 @@ +{ + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 2, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 10.0, 10.0, 9.0, 9.0, 8.0, 8.0, 16.0, 16.0, 14.0, 14.0, 12.0, 12.0, 22.0, 22.0, 19.0, 19.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_oy.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_oy.json new file mode 100644 index 000000000000..952fe0a67a0b --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_oy.json @@ -0,0 +1,22 @@ +{ + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 0.0, 0.0, 0.0, 0.0, 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 2, + "A": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 10.0, 10.0, 9.0, 9.0, 8.0, 8.0, 16.0, 16.0, 14.0, 14.0, 12.0, 12.0, 22.0, 22.0, 19.0, 19.0, 16.0, 16.0 ] +} From 55ba4f15bed40fcfe22da9d136ed0cc31fd4d313 Mon Sep 17 00:00:00 2001 From: Divit Date: Thu, 28 May 2026 07:16:02 +0000 Subject: [PATCH 06/10] test: add vector zero fixtures --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - 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: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../test/fixtures/column_major_x_zeros.json | 22 +++++++++++++++++++ .../test/fixtures/column_major_y_zeros.json | 22 +++++++++++++++++++ .../test/fixtures/row_major_x_zeros.json | 22 +++++++++++++++++++ .../test/fixtures/row_major_y_zeros.json | 22 +++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_x_zeros.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_y_zeros.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_x_zeros.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_y_zeros.json diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_x_zeros.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_x_zeros.json new file mode 100644 index 000000000000..ba508266cae3 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_x_zeros.json @@ -0,0 +1,22 @@ +{ + "order": "column-major", + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 0.0, 0.0, 0.0, 0.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 4.0, 4.0, 2.0, 2.0, 5.0, 5.0, 3.0, 3.0, 6.0, 6.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "lda": 2, + "strideA1": 1, + "strideA2": 2, + "offsetA": 0, + "A_out": [ 1.0, 1.0, 4.0, 4.0, 2.0, 2.0, 5.0, 5.0, 3.0, 3.0, 6.0, 6.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_y_zeros.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_y_zeros.json new file mode 100644 index 000000000000..948667fa1a85 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_y_zeros.json @@ -0,0 +1,22 @@ +{ + "order": "column-major", + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 4.0, 4.0, 2.0, 2.0, 5.0, 5.0, 3.0, 3.0, 6.0, 6.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "lda": 2, + "strideA1": 1, + "strideA2": 2, + "offsetA": 0, + "A_out": [ 1.0, 1.0, 4.0, 4.0, 2.0, 2.0, 5.0, 5.0, 3.0, 3.0, 6.0, 6.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_x_zeros.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_x_zeros.json new file mode 100644 index 000000000000..87c7ab36df64 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_x_zeros.json @@ -0,0 +1,22 @@ +{ + "order": "row-major", + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 0.0, 0.0, 0.0, 0.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "lda": 3, + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_y_zeros.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_y_zeros.json new file mode 100644 index 000000000000..34bf7166b1e0 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_y_zeros.json @@ -0,0 +1,22 @@ +{ + "order": "row-major", + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "lda": 3, + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] +} From b3363cfeea2b87e9e2593b3efb0e250c8f3a8b6b Mon Sep 17 00:00:00 2001 From: Divit Date: Thu, 28 May 2026 07:20:21 +0000 Subject: [PATCH 07/10] test: add vector strides fixtures --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - 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: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../test/fixtures/column_major_xnyn.json | 24 +++++++++++++++++++ .../test/fixtures/column_major_xnyp.json | 24 +++++++++++++++++++ .../test/fixtures/column_major_xpyn.json | 24 +++++++++++++++++++ .../test/fixtures/column_major_xpyp.json | 24 +++++++++++++++++++ .../cgerc/test/fixtures/row_major_xnyn.json | 24 +++++++++++++++++++ .../cgerc/test/fixtures/row_major_xnyp.json | 24 +++++++++++++++++++ .../cgerc/test/fixtures/row_major_xpyn.json | 24 +++++++++++++++++++ .../cgerc/test/fixtures/row_major_xpyp.json | 24 +++++++++++++++++++ 8 files changed, 192 insertions(+) create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xnyn.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xnyp.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xpyn.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xpyp.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xnyn.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xnyp.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xpyn.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xpyp.json diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xnyn.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xnyn.json new file mode 100644 index 000000000000..ffc404a2bac5 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xnyn.json @@ -0,0 +1,24 @@ +{ + "order": "column-major", + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 4.0, 4.0, 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideX": -1, + "offsetX": 3, + "y": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + "strideY": -1, + "offsetY": 2, + "A": [ 1.0, 1.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0, 2.0, 2.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0, 3.0, 3.0, 6.0, 6.0, 9.0, 9.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "lda": 4, + "strideA1": 1, + "strideA2": 4, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 10.0, 10.0, 16.0, 16.0, 22.0, 22.0, 4.0, 4.0, 9.0, 9.0, 14.0, 14.0, 19.0, 19.0, 4.0, 4.0, 8.0, 8.0, 12.0, 12.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xnyp.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xnyp.json new file mode 100644 index 000000000000..b05d26ccd00b --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xnyp.json @@ -0,0 +1,24 @@ +{ + "order": "column-major", + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 4.0, 4.0, 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideX": -1, + "offsetX": 3, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0, 2.0, 2.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0, 3.0, 3.0, 6.0, 6.0, 9.0, 9.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "lda": 4, + "strideA1": 1, + "strideA2": 4, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 10.0, 10.0, 16.0, 16.0, 22.0, 22.0, 4.0, 4.0, 9.0, 9.0, 14.0, 14.0, 19.0, 19.0, 4.0, 4.0, 8.0, 8.0, 12.0, 12.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xpyn.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xpyn.json new file mode 100644 index 000000000000..7813b8691864 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xpyn.json @@ -0,0 +1,24 @@ +{ + "order": "column-major", + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + "strideY": -1, + "offsetY": 2, + "A": [ 1.0, 1.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0, 2.0, 2.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0, 3.0, 3.0, 6.0, 6.0, 9.0, 9.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "lda": 4, + "strideA1": 1, + "strideA2": 4, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 10.0, 10.0, 16.0, 16.0, 22.0, 22.0, 4.0, 4.0, 9.0, 9.0, 14.0, 14.0, 19.0, 19.0, 4.0, 4.0, 8.0, 8.0, 12.0, 12.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xpyp.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xpyp.json new file mode 100644 index 000000000000..14e3f5aced0d --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_xpyp.json @@ -0,0 +1,24 @@ +{ + "order": "column-major", + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 4.0, 4.0, 7.0, 7.0, 10.0, 10.0, 2.0, 2.0, 5.0, 5.0, 8.0, 8.0, 11.0, 11.0, 3.0, 3.0, 6.0, 6.0, 9.0, 9.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "lda": 4, + "strideA1": 1, + "strideA2": 4, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 10.0, 10.0, 16.0, 16.0, 22.0, 22.0, 4.0, 4.0, 9.0, 9.0, 14.0, 14.0, 19.0, 19.0, 4.0, 4.0, 8.0, 8.0, 12.0, 12.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xnyn.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xnyn.json new file mode 100644 index 000000000000..072bf512aa7c --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xnyn.json @@ -0,0 +1,24 @@ +{ + "order": "row-major", + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 4.0, 4.0, 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideX": -1, + "offsetX": 3, + "y": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + "strideY": -1, + "offsetY": 2, + "A": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "lda": 3, + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 10.0, 10.0, 9.0, 9.0, 8.0, 8.0, 16.0, 16.0, 14.0, 14.0, 12.0, 12.0, 22.0, 22.0, 19.0, 19.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xnyp.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xnyp.json new file mode 100644 index 000000000000..f35fee83b67e --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xnyp.json @@ -0,0 +1,24 @@ +{ + "order": "row-major", + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 4.0, 4.0, 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideX": -1, + "offsetX": 3, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "lda": 3, + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 10.0, 10.0, 9.0, 9.0, 8.0, 8.0, 16.0, 16.0, 14.0, 14.0, 12.0, 12.0, 22.0, 22.0, 19.0, 19.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xpyn.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xpyn.json new file mode 100644 index 000000000000..9a148e56f96c --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xpyn.json @@ -0,0 +1,24 @@ +{ + "order": "row-major", + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + "strideY": -1, + "offsetY": 2, + "A": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "lda": 3, + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 10.0, 10.0, 9.0, 9.0, 8.0, 8.0, 16.0, 16.0, 14.0, 14.0, 12.0, 12.0, 22.0, 22.0, 19.0, 19.0, 16.0, 16.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xpyp.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xpyp.json new file mode 100644 index 000000000000..f5635e9e0a2f --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_xpyp.json @@ -0,0 +1,24 @@ +{ + "order": "row-major", + "M": 4, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 6.0, 6.0, 7.0, 7.0, 8.0, 8.0, 9.0, 9.0, 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ], + [ 7.0, 7.0, 8.0, 8.0, 9.0, 9.0 ], + [ 10.0, 10.0, 11.0, 11.0, 12.0, 12.0 ] + ], + "lda": 3, + "strideA1": 3, + "strideA2": 1, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 10.0, 10.0, 9.0, 9.0, 8.0, 8.0, 16.0, 16.0, 14.0, 14.0, 12.0, 12.0, 22.0, 22.0, 19.0, 19.0, 16.0, 16.0 ] +} From 1b4141f8a225635efbd167a932f6cb8da8660378 Mon Sep 17 00:00:00 2001 From: Divit Date: Thu, 28 May 2026 07:52:54 +0000 Subject: [PATCH 08/10] test: add matrix strides fixtures --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - 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: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../test/fixtures/column_major_sa1_sa2.json | 20 +++++++++++++++++++ .../test/fixtures/column_major_sa1_sa2n.json | 20 +++++++++++++++++++ .../test/fixtures/column_major_sa1n_sa2.json | 20 +++++++++++++++++++ .../test/fixtures/column_major_sa1n_sa2n.json | 20 +++++++++++++++++++ .../test/fixtures/row_major_sa1_sa2.json | 20 +++++++++++++++++++ .../test/fixtures/row_major_sa1_sa2n.json | 20 +++++++++++++++++++ .../test/fixtures/row_major_sa1n_sa2.json | 20 +++++++++++++++++++ .../test/fixtures/row_major_sa1n_sa2n.json | 20 +++++++++++++++++++ 8 files changed, 160 insertions(+) create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1_sa2.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1_sa2n.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1n_sa2.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1n_sa2n.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1_sa2.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1_sa2n.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1n_sa2.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1n_sa2n.json diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1_sa2.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1_sa2.json new file mode 100644 index 000000000000..a22da0b81df7 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1_sa2.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 6.0, 6.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": 3, + "strideA2": 7, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 8.0, 8.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1_sa2n.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1_sa2n.json new file mode 100644 index 000000000000..d7cb4182c2ee --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1_sa2n.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 6.0, 6.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": 3, + "strideA2": -7, + "offsetA": 14, + "A_out": [ 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 8.0, 8.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1n_sa2.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1n_sa2.json new file mode 100644 index 000000000000..eef5e3fd10d9 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1n_sa2.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.0, 6.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": -3, + "strideA2": 7, + "offsetA": 3, + "A_out": [ 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 8.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1n_sa2n.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1n_sa2n.json new file mode 100644 index 000000000000..f8269ff924da --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_sa1n_sa2n.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 6.0, 6.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": -3, + "strideA2": -7, + "offsetA": 17, + "A_out": [ 8.0, 8.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1_sa2.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1_sa2.json new file mode 100644 index 000000000000..b2b2b33d6a61 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1_sa2.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 6.0, 6.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": 7, + "strideA2": 3, + "offsetA": 0, + "A_out": [ 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 8.0, 8.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1_sa2n.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1_sa2n.json new file mode 100644 index 000000000000..1ecf34bfdbf3 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1_sa2n.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 6.0, 6.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": 7, + "strideA2": -3, + "offsetA": 6, + "A_out": [ 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 8.0, 8.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1n_sa2.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1n_sa2.json new file mode 100644 index 000000000000..79c6d6566ed0 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1n_sa2.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 6.0, 6.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": -7, + "strideA2": 3, + "offsetA": 7, + "A_out": [ 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 8.0, 8.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1n_sa2n.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1n_sa2n.json new file mode 100644 index 000000000000..f4edd58dad0f --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_sa1n_sa2n.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 1.0, 1.0, 2.0, 2.0 ], + "strideX": 1, + "offsetX": 0, + "y": [ 3.0, 3.0, 2.0, 2.0, 1.0, 1.0 ], + "strideY": 1, + "offsetY": 0, + "A": [ 6.0, 6.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": -7, + "strideA2": -3, + "offsetA": 13, + "A_out": [ 8.0, 8.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0 ] +} From a55b9a98969aabdb8fb44fb6bed83f3c9b994651 Mon Sep 17 00:00:00 2001 From: Divit Date: Thu, 28 May 2026 07:54:28 +0000 Subject: [PATCH 09/10] test: add complex access fixtures --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - 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: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../column_major_complex_access_pattern.json | 20 +++++++++++++++++++ .../row_major_complex_access_pattern.json | 20 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_complex_access_pattern.json create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_complex_access_pattern.json diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_complex_access_pattern.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_complex_access_pattern.json new file mode 100644 index 000000000000..209eed2a5cad --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/column_major_complex_access_pattern.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 2.0, 2.0, 1.0, 1.0 ], + "strideX": -1, + "offsetX": 1, + "y": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + "strideY": -1, + "offsetY": 2, + "A": [ 0.0, 0.0, 6.0, 6.0, 0.0, 0.0, 0.0, 0.0, 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": -3, + "strideA2": -7, + "offsetA": 18, + "A_out": [ 0.0, 0.0, 8.0, 8.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0 ] +} diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_complex_access_pattern.json b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_complex_access_pattern.json new file mode 100644 index 000000000000..3ce76404cfe2 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/test/fixtures/row_major_complex_access_pattern.json @@ -0,0 +1,20 @@ +{ + "M": 2, + "N": 3, + "alpha": [ 0.5, 0.5 ], + "x": [ 2.0, 2.0, 1.0, 1.0 ], + "strideX": -1, + "offsetX": 1, + "y": [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + "strideY": -1, + "offsetY": 2, + "A": [ 0.0, 0.0, 0.0, 0.0, 6.0, 6.0, 0.0, 0.0, 0.0, 0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0 ], + "A_mat": [ + [ 1.0, 1.0, 2.0, 2.0, 3.0, 3.0 ], + [ 4.0, 4.0, 5.0, 5.0, 6.0, 6.0 ] + ], + "strideA1": -7, + "strideA2": -3, + "offsetA": 15, + "A_out": [ 0.0, 0.0, 0.0, 0.0, 8.0, 8.0, 0.0, 0.0, 0.0, 0.0, 9.0, 9.0, 0.0, 0.0, 0.0, 0.0, 10.0, 10.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0, 0.0, 0.0, 0.0, 0.0, 4.0, 4.0 ] +} From 86075c0dd1973c4d45769fb6907a8dc71300b3a3 Mon Sep 17 00:00:00 2001 From: Divit Date: Thu, 28 May 2026 07:55:06 +0000 Subject: [PATCH 10/10] chore: add package.json --- 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_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: passed - 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: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../@stdlib/blas/base/cgerc/package.json | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 lib/node_modules/@stdlib/blas/base/cgerc/package.json diff --git a/lib/node_modules/@stdlib/blas/base/cgerc/package.json b/lib/node_modules/@stdlib/blas/base/cgerc/package.json new file mode 100644 index 000000000000..c9d06547e412 --- /dev/null +++ b/lib/node_modules/@stdlib/blas/base/cgerc/package.json @@ -0,0 +1,69 @@ +{ + "name": "@stdlib/blas/base/cgerc", + "version": "0.0.0", + "description": "Perform the rank 1 operation A = α⋅x⋅y^H + A.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "browser": "./lib/main.js", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "stdmath", + "mathematics", + "math", + "blas", + "level 2", + "cgerc", + "linear", + "algebra", + "subroutines", + "array", + "ndarray", + "complex64", + "single", + "complex64array" + ] +}