From f2ad39605c6e3744db3b3c2f4355d2c91bdcc30d Mon Sep 17 00:00:00 2001 From: kaustubh Date: Sun, 12 Jul 2026 12:25:48 +0530 Subject: [PATCH] refactor: add support for enums in blas/base/dsyr2 --- 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/dsyr2/lib/dsyr2.js | 10 ++++++---- .../@stdlib/blas/base/dsyr2/lib/dsyr2.native.js | 10 ++++++---- .../@stdlib/blas/base/dsyr2/lib/ndarray.js | 9 +++++---- .../@stdlib/blas/base/dsyr2/lib/ndarray.native.js | 8 ++++---- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/lib/node_modules/@stdlib/blas/base/dsyr2/lib/dsyr2.js b/lib/node_modules/@stdlib/blas/base/dsyr2/lib/dsyr2.js index c721c40150b5..5c85e1f90f34 100644 --- a/lib/node_modules/@stdlib/blas/base/dsyr2/lib/dsyr2.js +++ b/lib/node_modules/@stdlib/blas/base/dsyr2/lib/dsyr2.js @@ -22,7 +22,7 @@ var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' ); 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 max = require( '@stdlib/math/base/special/fast/max' ); var format = require( '@stdlib/string/format' ); @@ -35,7 +35,7 @@ var base = require( './base.js' ); * Performs the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A` where `α` is a scalar, `x` and `y` are `N` element vectors, and `A` is an `N` by `N` symmetric matrix. * * @param {string} order - storage layout -* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced +* @param {(integer|string)} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced * @param {NonNegativeInteger} N - number of elements along each dimension of `A` * @param {number} alpha - scalar constant * @param {Float64Array} x - first input vector @@ -67,11 +67,13 @@ function dsyr2( order, uplo, N, alpha, x, strideX, y, strideY, A, LDA ) { var sa2; var ox; var oy; + 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 to reference the lower or upper triangular matrix. Value: `%s`.', uplo ) ); } if ( N < 0 ) { @@ -99,7 +101,7 @@ function dsyr2( order, uplo, N, alpha, x, strideX, y, strideY, A, LDA ) { } ox = stride2offset( N, strideX ); oy = stride2offset( N, strideY ); - return base( uplo, N, alpha, x, strideX, ox, y, strideY, oy, A, sa1, sa2, 0 ); // eslint-disable-line max-len + return base( u, N, alpha, x, strideX, ox, y, strideY, oy, A, sa1, sa2, 0 ); } diff --git a/lib/node_modules/@stdlib/blas/base/dsyr2/lib/dsyr2.native.js b/lib/node_modules/@stdlib/blas/base/dsyr2/lib/dsyr2.native.js index 7ae09da27006..8ebcc5e7b000 100644 --- a/lib/node_modules/@stdlib/blas/base/dsyr2/lib/dsyr2.native.js +++ b/lib/node_modules/@stdlib/blas/base/dsyr2/lib/dsyr2.native.js @@ -21,7 +21,6 @@ // MODULES // var isLayout = require( '@stdlib/blas/base/assert/is-layout' ); -var isMatrixTriangle = require( '@stdlib/blas/base/assert/is-matrix-triangle' ); var resolveOrder = require( '@stdlib/blas/base/layout-resolve-enum' ); var resolveUplo = require( '@stdlib/blas/base/matrix-triangle-resolve-enum' ); var max = require( '@stdlib/math/base/special/fast/max' ); @@ -35,7 +34,7 @@ var addon = require( './../src/addon.node' ); * Performs the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A` where `α` is a scalar, `x` and `y` are `N` element vectors, and `A` is an `N` by `N` symmetric matrix. * * @param {string} order - storage layout -* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced +* @param {(integer|string)} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced * @param {NonNegativeInteger} N - number of elements along each dimension of `A` * @param {number} alpha - scalar constant * @param {Float64Array} x - first input vector @@ -63,10 +62,13 @@ var addon = require( './../src/addon.node' ); * // A => [ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ] */ function dsyr2( order, uplo, N, alpha, x, strideX, y, strideY, A, LDA ) { + 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 = resolveUplo( uplo ); + if ( u === null ) { throw new TypeError( format( 'invalid argument. Second argument must specify whether to reference the lower or upper triangular matrix. Value: `%s`.', uplo ) ); } if ( N < 0 ) { @@ -85,7 +87,7 @@ function dsyr2( order, uplo, N, alpha, x, strideX, y, strideY, A, LDA ) { if ( N === 0 || alpha === 0.0 ) { return A; } - addon( resolveOrder( order ), resolveUplo( uplo ), N, alpha, x, strideX, y, strideY, A, LDA ); // eslint-disable-line max-len + addon( resolveOrder( order ), u, N, alpha, x, strideX, y, strideY, A, LDA ); return A; } diff --git a/lib/node_modules/@stdlib/blas/base/dsyr2/lib/ndarray.js b/lib/node_modules/@stdlib/blas/base/dsyr2/lib/ndarray.js index a0aae998d303..a0fae53e1e45 100644 --- a/lib/node_modules/@stdlib/blas/base/dsyr2/lib/ndarray.js +++ b/lib/node_modules/@stdlib/blas/base/dsyr2/lib/ndarray.js @@ -20,7 +20,7 @@ // MODULES // -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' ); @@ -30,7 +30,7 @@ var base = require( './base.js' ); /** * Performs the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A` where `α` is a scalar, `x` and `y` are `N` element vectors, and `A` is an `N` by `N` symmetric matrix. * -* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced +* @param {(integer|string)} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced * @param {NonNegativeInteger} N - number of elements along each dimension of `A` * @param {number} alpha - scalar constant * @param {Float64Array} x - first input vector @@ -62,7 +62,8 @@ var base = require( './base.js' ); * // A => [ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ] */ function dsyr2( uplo, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, strideA1, strideA2, offsetA ) { // eslint-disable-line max-len, max-params - if ( !isMatrixTriangle( uplo ) ) { + var u = resolveStr( uplo ); + if ( u === null ) { throw new TypeError( format( 'invalid argument. First argument must specify whether to reference the lower or upper triangular matrix. Value: `%s`.', uplo ) ); } if ( N < 0 ) { @@ -84,7 +85,7 @@ function dsyr2( uplo, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, str if ( N === 0 || alpha === 0.0 ) { return A; } - return base( uplo, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, strideA1, strideA2, offsetA ); // eslint-disable-line max-len + return base( u, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, strideA1, strideA2, offsetA ); // eslint-disable-line max-len } diff --git a/lib/node_modules/@stdlib/blas/base/dsyr2/lib/ndarray.native.js b/lib/node_modules/@stdlib/blas/base/dsyr2/lib/ndarray.native.js index ab471ef9fe14..9d16bc2b60c3 100644 --- a/lib/node_modules/@stdlib/blas/base/dsyr2/lib/ndarray.native.js +++ b/lib/node_modules/@stdlib/blas/base/dsyr2/lib/ndarray.native.js @@ -20,7 +20,6 @@ // MODULES // -var isMatrixTriangle = require( '@stdlib/blas/base/assert/is-matrix-triangle' ); var resolveUplo = require( '@stdlib/blas/base/matrix-triangle-resolve-enum' ); var format = require( '@stdlib/string/format' ); var addon = require( './../src/addon.node' ); @@ -31,7 +30,7 @@ var addon = require( './../src/addon.node' ); /** * Performs the symmetric rank 2 operation `A = α*x*y^T + α*y*x^T + A` where `α` is a scalar, `x` and `y` are `N` element vectors, and `A` is an `N` by `N` symmetric matrix. * -* @param {string} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced +* @param {(integer|string)} uplo - specifies whether the upper or lower triangular part of the symmetric matrix `A` should be referenced * @param {NonNegativeInteger} N - number of elements along each dimension of `A` * @param {number} alpha - scalar constant * @param {Float64Array} x - first input vector @@ -63,7 +62,8 @@ var addon = require( './../src/addon.node' ); * // A => [ 3.0, 6.0, 9.0, 2.0, 9.0, 14.0, 3.0, 2.0, 19.0 ] */ function dsyr2( uplo, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, strideA1, strideA2, offsetA ) { // eslint-disable-line max-len, max-params - if ( !isMatrixTriangle( uplo ) ) { + var u = resolveUplo( uplo ); + if ( u === null ) { throw new TypeError( format( 'invalid argument. First argument must specify whether to reference the lower or upper triangular matrix. Value: `%s`.', uplo ) ); } if ( N < 0 ) { @@ -85,7 +85,7 @@ function dsyr2( uplo, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, str if ( N === 0 || alpha === 0.0 ) { return A; } - addon.ndarray( resolveUplo( uplo ), N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, strideA1, strideA2, offsetA ); // eslint-disable-line max-len + addon.ndarray( u, N, alpha, x, strideX, offsetX, y, strideY, offsetY, A, strideA1, strideA2, offsetA ); // eslint-disable-line max-len return A; }