From f2ea105bcc60b438bae462e6062eed7ade9082f0 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 7 May 2026 12:30:08 +0000 Subject: [PATCH 1/2] style: align `blas/ext/base/gcartesian-square` JSDoc and accessor return with siblings Annotate `N` as a `PositiveInteger` to match every sibling strided routine (`gfill`, `gcusum`, `dwhere`, `swhere`, `gcartesian-power`), and align the accessor branch with `gcartesian-power/lib/accessors.js` by returning the original `out` collection (not the underlying buffer) and updating the `@returns` annotation accordingly. --- .../blas/ext/base/gcartesian-square/lib/accessors.js | 8 ++++---- .../@stdlib/blas/ext/base/gcartesian-square/lib/main.js | 2 +- .../blas/ext/base/gcartesian-square/lib/ndarray.js | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/accessors.js b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/accessors.js index 005dc262f3a1..aac8d16fb827 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/accessors.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/accessors.js @@ -29,7 +29,7 @@ var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major' ); * Computes the Cartesian square for a strided accessor array. * * @private -* @param {NonNegativeInteger} N - number of indexed elements +* @param {PositiveInteger} N - number of indexed elements * @param {Object} x - input array object * @param {Collection} x.data - input array data * @param {Array} x.accessors - array element accessors @@ -41,7 +41,7 @@ var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major' ); * @param {integer} strideOut1 - stride length for the first dimension of `out` * @param {integer} strideOut2 - stride length for the second dimension of `out` * @param {NonNegativeInteger} offsetOut - starting index for `out` -* @returns {Collection} output array +* @returns {Object} output array object * * @example * var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' ); @@ -86,7 +86,7 @@ function gcartesianSquare( N, x, strideX, offsetX, out, strideOut1, strideOut2, } ix += strideX; } - return obuf; + return out; } // Column-major... for ( i = 0; i < N; i++ ) { // Note: these loops inline the equivalent of `gfill` to avoid the overhead of intermediate object creation and accessor dispatch on each call... @@ -106,7 +106,7 @@ function gcartesianSquare( N, x, strideX, offsetX, out, strideOut1, strideOut2, io += strideOut1; } } - return obuf; + return out; } diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/main.js b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/main.js index bdebc226d218..f66ea8b90516 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/main.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/main.js @@ -34,7 +34,7 @@ var ndarray = require( './ndarray.js' ); * Computes the Cartesian square for a strided array. * * @param {string} order - storage layout -* @param {NonNegativeInteger} N - number of indexed elements +* @param {PositiveInteger} N - number of indexed elements * @param {Collection} x - input array * @param {integer} strideX - stride length for `x` * @param {Collection} out - output array diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/ndarray.js index e1f0f1ed6937..c4969f47ef29 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/ndarray.js @@ -36,7 +36,7 @@ var accessors = require( './accessors.js' ); * * - Pairs are stored as rows in the output matrix, where the first column contains the first element of each pair and the second column contains the second element. * -* @param {NonNegativeInteger} N - number of indexed elements +* @param {PositiveInteger} N - number of indexed elements * @param {Collection} x - input array * @param {integer} strideX - stride length for `x` * @param {NonNegativeInteger} offsetX - starting index for `x` @@ -68,7 +68,8 @@ function gcartesianSquare( N, x, strideX, offsetX, out, strideOut1, strideOut2, xobj = arraylike2object( x ); oobj = arraylike2object( out ); if ( xobj.accessorProtocol || oobj.accessorProtocol ) { - return accessors( N, xobj, strideX, offsetX, oobj, strideOut1, strideOut2, offsetOut ); // eslint-disable-line max-len + accessors( N, xobj, strideX, offsetX, oobj, strideOut1, strideOut2, offsetOut ); // eslint-disable-line max-len + return out; } ix = offsetX; io = offsetOut; From 52de33510b98a7500047161e6da7ed3ca4fc4d1d Mon Sep 17 00:00:00 2001 From: Philipp Burckhardt Date: Sun, 10 May 2026 16:17:24 -0500 Subject: [PATCH 2/2] fix: revert `N` JSDoc annotation to `NonNegativeInteger` in `blas/ext/base/gcartesian-square` The implementation handles `N = 0` via the `if ( N <= 0 ) { return out; }` guard in `ndarray.js`, and the cartesian-family siblings (`gcartesian-power`, `dcartesian-square`, `scartesian-square`) all annotate `N` as `NonNegativeInteger`. --- 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: 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/ext/base/gcartesian-square/lib/accessors.js | 2 +- .../@stdlib/blas/ext/base/gcartesian-square/lib/main.js | 2 +- .../@stdlib/blas/ext/base/gcartesian-square/lib/ndarray.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/accessors.js b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/accessors.js index aac8d16fb827..abf0bf5e19ce 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/accessors.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/accessors.js @@ -29,7 +29,7 @@ var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major' ); * Computes the Cartesian square for a strided accessor array. * * @private -* @param {PositiveInteger} N - number of indexed elements +* @param {NonNegativeInteger} N - number of indexed elements * @param {Object} x - input array object * @param {Collection} x.data - input array data * @param {Array} x.accessors - array element accessors diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/main.js b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/main.js index f66ea8b90516..bdebc226d218 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/main.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/main.js @@ -34,7 +34,7 @@ var ndarray = require( './ndarray.js' ); * Computes the Cartesian square for a strided array. * * @param {string} order - storage layout -* @param {PositiveInteger} N - number of indexed elements +* @param {NonNegativeInteger} N - number of indexed elements * @param {Collection} x - input array * @param {integer} strideX - stride length for `x` * @param {Collection} out - output array diff --git a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/ndarray.js b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/ndarray.js index c4969f47ef29..a5c51b9a453f 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/ndarray.js +++ b/lib/node_modules/@stdlib/blas/ext/base/gcartesian-square/lib/ndarray.js @@ -36,7 +36,7 @@ var accessors = require( './accessors.js' ); * * - Pairs are stored as rows in the output matrix, where the first column contains the first element of each pair and the second column contains the second element. * -* @param {PositiveInteger} N - number of indexed elements +* @param {NonNegativeInteger} N - number of indexed elements * @param {Collection} x - input array * @param {integer} strideX - stride length for `x` * @param {NonNegativeInteger} offsetX - starting index for `x`