From d0d8069310bc155fe5d082154c3dac04165dec01 Mon Sep 17 00:00:00 2001 From: kaustubh Date: Tue, 14 Jul 2026 00:37:35 +0530 Subject: [PATCH] refactor: add support for enums in blas/base/sspr --- 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/sspr/lib/ndarray.js | 10 ++++++---- .../@stdlib/blas/base/sspr/lib/ndarray.native.js | 2 +- lib/node_modules/@stdlib/blas/base/sspr/lib/sspr.js | 10 ++++++---- .../@stdlib/blas/base/sspr/lib/sspr.native.js | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/base/sspr/lib/ndarray.js b/lib/node_modules/@stdlib/blas/base/sspr/lib/ndarray.js index 0a67a5c58018..e355807f54de 100644 --- a/lib/node_modules/@stdlib/blas/base/sspr/lib/ndarray.js +++ b/lib/node_modules/@stdlib/blas/base/sspr/lib/ndarray.js @@ -21,7 +21,7 @@ // MODULES // var isLayout = require( '@stdlib/blas/base/assert/is-layout' ); -var isMatrixTriangle = require( '@stdlib/blas/base/assert/is-matrix-triangle' ); +var resolveStr = require( '@stdlib/blas/base/matrix-triangle-resolve-str' ); var format = require( '@stdlib/string/format' ); var base = require( './base.js' ); @@ -32,7 +32,7 @@ var base = require( './base.js' ); * Performs the symmetric rank 1 operation `A = α*x*x^T + A` where `α` is a scalar, `x` is an `N` element vector, and `A` is an `N` by `N` symmetric matrix supplied in packed form. * * @param {string} order - storage layout -* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is supplied +* @param {(integer|string)} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is supplied * @param {NonNegativeInteger} N - number of elements along each dimension of `A` * @param {number} alpha - scalar constant * @param {Float32Array} x - input vector @@ -58,10 +58,12 @@ var base = require( './base.js' ); * // AP => [ 2.0, 4.0, 6.0, 5.0, 8.0, 10.0 ] */ function sspr( order, uplo, N, alpha, x, strideX, offsetX, AP, strideAP, offsetAP ) { // eslint-disable-line max-len + var u; if ( !isLayout( order ) ) { throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) ); } - if ( !isMatrixTriangle( uplo ) ) { + u = resolveStr( uplo ); + if ( u === null ) { throw new TypeError( format( 'invalid argument. Second argument must specify whether the lower or upper triangular matrix is supplied. Value: `%s`.', uplo ) ); } if ( N < 0 ) { @@ -76,7 +78,7 @@ function sspr( order, uplo, N, alpha, x, strideX, offsetX, AP, strideAP, offsetA if ( N === 0 || alpha === 0.0 ) { return AP; } - return base( order, uplo, N, alpha, x, strideX, offsetX, AP, strideAP, offsetAP ); // eslint disable-line max-len + return base( order, u, N, alpha, x, strideX, offsetX, AP, strideAP, offsetAP ); // eslint-disable-line max-len } diff --git a/lib/node_modules/@stdlib/blas/base/sspr/lib/ndarray.native.js b/lib/node_modules/@stdlib/blas/base/sspr/lib/ndarray.native.js index e19ef9c171e4..e0caf6be2dc1 100644 --- a/lib/node_modules/@stdlib/blas/base/sspr/lib/ndarray.native.js +++ b/lib/node_modules/@stdlib/blas/base/sspr/lib/ndarray.native.js @@ -28,7 +28,7 @@ var addon = require( './../src/addon.node' ); * Performs the symmetric rank 1 operation `A = α*x*x^T + A` where `α` is a scalar, `x` is an `N` element vector, and `A` is an `N` by `N` symmetric matrix supplied in packed form. * * @param {string} order - storage layout -* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is supplied +* @param {(integer|string)} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is supplied * @param {NonNegativeInteger} N - number of elements along each dimension of `A` * @param {number} alpha - scalar constant * @param {Float32Array} x - input vector diff --git a/lib/node_modules/@stdlib/blas/base/sspr/lib/sspr.js b/lib/node_modules/@stdlib/blas/base/sspr/lib/sspr.js index d54e1746bea8..5a67f53b6f26 100644 --- a/lib/node_modules/@stdlib/blas/base/sspr/lib/sspr.js +++ b/lib/node_modules/@stdlib/blas/base/sspr/lib/sspr.js @@ -21,7 +21,7 @@ // MODULES // var isLayout = require( '@stdlib/blas/base/assert/is-layout' ); -var isMatrixTriangle = require( '@stdlib/blas/base/assert/is-matrix-triangle' ); +var resolveStr = require( '@stdlib/blas/base/matrix-triangle-resolve-str' ); var stride2offset = require( '@stdlib/strided/base/stride2offset' ); var format = require( '@stdlib/string/format' ); var base = require( './base.js' ); @@ -33,7 +33,7 @@ var base = require( './base.js' ); * Performs the symmetric rank 1 operation `A = α*x*x^T + A` where `α` is a scalar, `x` is an `N` element vector, and `A` is an `N` by `N` symmetric matrix supplied in packed form. * * @param {string} order - storage layout -* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is supplied +* @param {(integer|string)} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is supplied * @param {NonNegativeInteger} N - number of elements along each dimension of `A` * @param {number} alpha - scalar constant * @param {Float32Array} x - input vector @@ -56,11 +56,13 @@ var base = require( './base.js' ); */ function sspr( order, uplo, N, alpha, x, strideX, AP ) { var ox; + var u; if ( !isLayout( order ) ) { throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) ); } - if ( !isMatrixTriangle( uplo ) ) { + u = resolveStr( uplo ); + if ( u === null ) { throw new TypeError( format( 'invalid argument. Second argument must specify whether the lower or upper triangular matrix is supplied. Value: `%s`.', uplo ) ); } if ( N < 0 ) { @@ -73,7 +75,7 @@ function sspr( order, uplo, N, alpha, x, strideX, AP ) { return AP; } ox = stride2offset( N, strideX ); - return base( order, uplo, N, alpha, x, strideX, ox, AP, 1, 0 ); + return base( order, u, N, alpha, x, strideX, ox, AP, 1, 0 ); } diff --git a/lib/node_modules/@stdlib/blas/base/sspr/lib/sspr.native.js b/lib/node_modules/@stdlib/blas/base/sspr/lib/sspr.native.js index 61350c1570cf..a32f636b2326 100644 --- a/lib/node_modules/@stdlib/blas/base/sspr/lib/sspr.native.js +++ b/lib/node_modules/@stdlib/blas/base/sspr/lib/sspr.native.js @@ -31,7 +31,7 @@ var addon = require( './../src/addon.node' ); * Performs the symmetric rank 1 operation `A = α*x*x^T + A` where `α` is a scalar, `x` is an `N` element vector, and `A` is an `N` by `N` symmetric matrix supplied in packed form. * * @param {string} order - storage layout -* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is supplied +* @param {(integer|string)} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` is supplied * @param {NonNegativeInteger} N - number of elements along each dimension of `A` * @param {number} alpha - scalar constant * @param {Float32Array} x - input vector