From 50b7c299f78f94ee271313568ef315fd03653e79 Mon Sep 17 00:00:00 2001 From: kaustubh Date: Mon, 1 Jun 2026 14:06:56 +0530 Subject: [PATCH] refactor: replace isMatrixTranspose with resolveStr in blas/base/ggemv --- 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 --- --- lib/node_modules/@stdlib/blas/base/ggemv/lib/main.js | 12 +++++++----- .../@stdlib/blas/base/ggemv/lib/ndarray.js | 11 +++++++---- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/base/ggemv/lib/main.js b/lib/node_modules/@stdlib/blas/base/ggemv/lib/main.js index 8fc1dc997423..8cd6870bab02 100644 --- a/lib/node_modules/@stdlib/blas/base/ggemv/lib/main.js +++ b/lib/node_modules/@stdlib/blas/base/ggemv/lib/main.js @@ -21,7 +21,7 @@ // MODULES // var isLayout = require( '@stdlib/blas/base/assert/is-layout' ); -var isMatrixTranspose = require( '@stdlib/blas/base/assert/is-transpose-operation' ); +var resolveStr = require( '@stdlib/blas/base/transpose-operation-resolve-str' ); var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' ); var stride2offset = require( '@stdlib/strided/base/stride2offset' ); var max = require( '@stdlib/math/base/special/fast/max' ); @@ -35,7 +35,7 @@ var base = require( './base.js' ); * Performs one of the matrix-vector operations `y = α*A*x + β*y` or `y = α*A^T*x + β*y`, where `α` and `β` are scalars, `x` and `y` are vectors, and `A` is an `M` by `N` matrix. * * @param {string} order - storage layout -* @param {string} trans - specifies whether `A` should be transposed, conjugate-transposed, or not transposed +* @param {(integer|string)} trans - specifies whether `A` should be transposed, conjugate-transposed, or not transposed * @param {NonNegativeInteger} M - number of rows in the matrix `A` * @param {NonNegativeInteger} N - number of columns in the matrix `A` * @param {number} alpha - scalar constant @@ -72,11 +72,13 @@ function ggemv( order, trans, M, N, alpha, A, LDA, x, strideX, beta, y, strideY var sa2; var ox; var oy; + var t; if ( !isLayout( order ) ) { throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) ); } - if ( !isMatrixTranspose( trans ) ) { + t = resolveStr( trans ); + if ( t === null ) { throw new TypeError( format( 'invalid argument. Second argument must be a valid transpose operation. Value: `%s`.', trans ) ); } if ( M < 0 ) { @@ -104,7 +106,7 @@ function ggemv( order, trans, M, N, alpha, A, LDA, x, strideX, beta, y, strideY if ( M === 0 || N === 0 || ( alpha === 0.0 && beta === 1.0 ) ) { return y; } - if ( trans === 'no-transpose' ) { + if ( t === 'no-transpose' ) { xlen = N; ylen = M; } else { @@ -120,7 +122,7 @@ function ggemv( order, trans, M, N, alpha, A, LDA, x, strideX, beta, y, strideY sa1 = LDA; sa2 = 1; } - return base( trans, M, N, alpha, A, sa1, sa2, 0, x, strideX, ox, beta, y, strideY, oy ); // eslint-disable-line max-len + return base( t, M, N, alpha, A, sa1, sa2, 0, x, strideX, ox, beta, y, strideY, oy ); // eslint-disable-line max-len } diff --git a/lib/node_modules/@stdlib/blas/base/ggemv/lib/ndarray.js b/lib/node_modules/@stdlib/blas/base/ggemv/lib/ndarray.js index f533ae5b8475..e7234bf0644c 100644 --- a/lib/node_modules/@stdlib/blas/base/ggemv/lib/ndarray.js +++ b/lib/node_modules/@stdlib/blas/base/ggemv/lib/ndarray.js @@ -20,7 +20,7 @@ // MODULES // -var isMatrixTranspose = require( '@stdlib/blas/base/assert/is-transpose-operation' ); +var resolveStr = require( '@stdlib/blas/base/transpose-operation-resolve-str' ); var format = require( '@stdlib/string/format' ); var base = require( './base.js' ); @@ -30,7 +30,7 @@ var base = require( './base.js' ); /** * Performs one of the matrix-vector operations `y = α*A*x + β*y` or `y = α*A^T*x + β*y`, where `α` and `β` are scalars, `x` and `y` are vectors, and `A` is an `M` by `N` matrix. * -* @param {string} trans - specifies whether `A` should be transposed, conjugate-transposed, or not transposed +* @param {(integer|string)} trans - specifies whether `A` should be transposed, conjugate-transposed, or not transposed * @param {NonNegativeInteger} M - number of rows in the matrix `A` * @param {NonNegativeInteger} N - number of columns in the matrix `A` * @param {number} alpha - scalar constant @@ -61,7 +61,10 @@ var base = require( './base.js' ); * // y => [ 7.0, 16.0 ] */ function ggemv( trans, M, N, alpha, A, strideA1, strideA2, offsetA, x, strideX, offsetX, beta, y, strideY, offsetY ) { // eslint-disable-line max-params, max-len - if ( !isMatrixTranspose( trans ) ) { + var t; + + t = resolveStr( trans ); + if ( t === null ) { throw new TypeError( format( 'invalid argument. First argument must be a valid transpose operation. Value: `%s`.', trans ) ); } if ( M < 0 ) { @@ -80,7 +83,7 @@ function ggemv( trans, M, N, alpha, A, strideA1, strideA2, offsetA, x, strideX, if ( M === 0 || N === 0 || ( alpha === 0.0 && beta === 1.0 ) ) { return y; } - return base( trans, M, N, alpha, A, strideA1, strideA2, offsetA, x, strideX, offsetX, beta, y, strideY, offsetY ); // eslint-disable-line max-len + return base( t, M, N, alpha, A, strideA1, strideA2, offsetA, x, strideX, offsetX, beta, y, strideY, offsetY ); // eslint-disable-line max-len }