From 784f0af109945925b33b9af3253dd1aa63769927 Mon Sep 17 00:00:00 2001 From: kaustubh Date: Mon, 1 Jun 2026 13:57:15 +0530 Subject: [PATCH] refactor: replace isMatrixTranspose with resolveStr in blas/base/dgemv --- 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/dgemv/lib/dgemv.js | 12 +++++++----- .../@stdlib/blas/base/dgemv/lib/ndarray.js | 11 +++++++---- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/base/dgemv/lib/dgemv.js b/lib/node_modules/@stdlib/blas/base/dgemv/lib/dgemv.js index 079fc0615f6b..1892063186dc 100644 --- a/lib/node_modules/@stdlib/blas/base/dgemv/lib/dgemv.js +++ b/lib/node_modules/@stdlib/blas/base/dgemv/lib/dgemv.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 @@ -74,11 +74,13 @@ function dgemv( 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 ) { @@ -106,7 +108,7 @@ function dgemv( 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 { @@ -122,7 +124,7 @@ function dgemv( 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/dgemv/lib/ndarray.js b/lib/node_modules/@stdlib/blas/base/dgemv/lib/ndarray.js index a7e65c564f63..eff028d1c2d2 100644 --- a/lib/node_modules/@stdlib/blas/base/dgemv/lib/ndarray.js +++ b/lib/node_modules/@stdlib/blas/base/dgemv/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 @@ -63,7 +63,10 @@ var base = require( './base.js' ); * // y => [ 7.0, 16.0 ] */ function dgemv( 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 ) { @@ -82,7 +85,7 @@ function dgemv( 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 }