Skip to content

Commit 040b347

Browse files
Shabareesh ShettyShabareesh Shetty
authored andcommitted
refactor: reduce arithmetic operation
--- 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: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 3ae7bb0 commit 040b347

File tree

1 file changed

+10
-5
lines changed
  • lib/node_modules/@stdlib/blas/base/dtbsv/lib

1 file changed

+10
-5
lines changed

lib/node_modules/@stdlib/blas/base/dtbsv/lib/base.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ var min = require( '@stdlib/math/base/special/min' );
4141
* @param {integer} strideA2 - stride of the second dimension of `A`
4242
* @param {NonNegativeInteger} offsetA - starting index for `A`
4343
* @param {Float64Array} x - input vector
44-
* @param {integer} strideX - `x` stride length
44+
* @param {integer} strideX - stride length for `x`
4545
* @param {NonNegativeInteger} offsetX - starting index for `x`
4646
* @returns {Float64Array} `x`
4747
*
@@ -61,6 +61,7 @@ function dtbsv( uplo, trans, diag, N, K, A, strideA1, strideA2, offsetA, x, stri
6161
var tmp;
6262
var sa0;
6363
var sa1;
64+
var sa2;
6465
var ix0;
6566
var ix1;
6667
var i0;
@@ -94,7 +95,8 @@ function dtbsv( uplo, trans, diag, N, K, A, strideA1, strideA2, offsetA, x, stri
9495
oa = offsetA + ( sa1 * i1 );
9596
for ( i0 = i1 + 1; i0 <= min( N - 1, i1 + K ); i0++ ) {
9697
ix0 = ox + ( i0 * strideX );
97-
idx = oa + ( sa0 * ( K + i0 - i1 ) );
98+
sa2 = ( K + i0 - i1 );
99+
idx = oa + ( sa0 * sa2 );
98100
tmp -= x[ ix0 ] * A[ idx ];
99101
}
100102
if ( nonunit ) {
@@ -117,7 +119,8 @@ function dtbsv( uplo, trans, diag, N, K, A, strideA1, strideA2, offsetA, x, stri
117119
oa = offsetA + ( sa1 * i1 );
118120
for ( i0 = max( 0, i1-K ); i0 < i1; i0++ ) {
119121
ix0 = ox + ( i0 * strideX );
120-
idx = offsetA + ( ( i0 * sa1 ) + ( (i1 - i0) * sa0 ) );
122+
sa2 = ( (i1 - i0) * sa0 );
123+
idx = offsetA + ( ( i0 * sa1 ) + sa2 );
121124
tmp -= A[ idx ] * x[ ix0 ];
122125
}
123126
if ( nonunit ) {
@@ -139,7 +142,8 @@ function dtbsv( uplo, trans, diag, N, K, A, strideA1, strideA2, offsetA, x, stri
139142
oa = offsetA + ( sa1*i1 );
140143
for ( i0 = max( 0, i1 - K ); i0 < i1; i0++ ) {
141144
ix0 = offsetX + ( i0 * strideX );
142-
tmp -= x[ ix0 ] * A[ oa + ( sa0 * (K + i0 - i1 ) ) ];
145+
sa2 = ( sa0 * (K + i0 - i1 ) );
146+
tmp -= x[ ix0 ] * A[ oa + sa2 ];
143147
}
144148
if ( nonunit ) {
145149
tmp /= A[ oa + ( sa0 * K ) ];
@@ -157,7 +161,8 @@ function dtbsv( uplo, trans, diag, N, K, A, strideA1, strideA2, offsetA, x, stri
157161
oa = offsetA + (sa1 * i1);
158162
for ( i0 = min( N - 1, i1 + K ); i0 > i1; i0-- ) {
159163
ix0 = ox - ( ( N - 1 - i0 ) * strideX );
160-
tmp -= x[ ix0 ] * A[ oa + ( sa0 * (i0 - i1) ) ];
164+
sa2 = ( sa0 * (i0 - i1) );
165+
tmp -= x[ ix0 ] * A[ oa + sa2 ];
161166
}
162167
if ( nonunit ) {
163168
tmp /= A[ oa ];

0 commit comments

Comments
 (0)