Skip to content

Commit 5f0fdaa

Browse files
committed
refactor: pointer arithmetic
--- 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 89c3b1c commit 5f0fdaa

File tree

1 file changed

+15
-7
lines changed
  • lib/node_modules/@stdlib/lapack/base/dgebal/lib

1 file changed

+15
-7
lines changed

lib/node_modules/@stdlib/lapack/base/dgebal/lib/base.js

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -146,11 +146,11 @@ function dgebal( job, N, A, strideA1, strideA2, offsetA, out, strideOut, offsetO
146146
// Search for rows isolating an eigenvalue and push them down
147147
noconv = false;
148148

149-
is = offsetScale + ( l * strideScale ); // Follows `scale`
150-
ia1 = offsetA + ( l * strideA2 ); // Follows `i`th column
151-
ia2 = offsetA + ( l * strideA2 ); // Follows `l`th column
152-
ia3 = offsetA + (l*strideA1) + (k*strideA2); // Follows `i`th row
153-
ia4 = offsetA + (l*strideA1) + (k*strideA2); // Follows `l`th row
149+
is = offsetScale + ( l * strideScale ); // Follows scale
150+
ia1 = offsetA + ( l * strideA2 ); // Follows `i`th column of A
151+
ia2 = offsetA + ( l * strideA2 ); // Follows `l`th column of A
152+
ia3 = offsetA + (l*strideA1) + (k*strideA2); // Follows `i`th row of A
153+
ia4 = offsetA + (l*strideA1) + (k*strideA2); // Follows `l`th row of A
154154

155155
for ( i = l; i >= 0; i-- ) {
156156
canSwap = true;
@@ -176,10 +176,12 @@ function dgebal( job, N, A, strideA1, strideA2, offsetA, out, strideOut, offsetO
176176
return 0;
177177
}
178178
l -= 1;
179+
179180
is -= strideScale;
180181
ia2 -= strideA2;
181182
ia4 -= strideA1;
182183
}
184+
183185
ia1 -= strideA2;
184186
ia3 -= strideA1;
185187
}
@@ -189,7 +191,9 @@ function dgebal( job, N, A, strideA1, strideA2, offsetA, out, strideOut, offsetO
189191
while ( noconv ) {
190192
// Search for columns isolating an eigenvalue and push them left
191193
noconv = false;
192-
is = offsetScale + ( k * strideScale );
194+
is = offsetScale + ( k * strideScale ); // Follows scale
195+
ia1 = offsetA + ( k * strideA2 ); // Follows `j`th column of A
196+
ia2 = offsetA + ( k * strideA2 ); // Follows `k`th column of A
193197
for ( j = k; j <= l; j++ ) {
194198
canSwap = true;
195199
for ( i = k; i <= l; i++ ) {
@@ -202,13 +206,17 @@ function dgebal( job, N, A, strideA1, strideA2, offsetA, out, strideOut, offsetO
202206
if ( canSwap ) {
203207
scale[ is ] = j;
204208
if ( j !== k ) {
205-
dswap( l+1, A, strideA1, offsetA + (j*strideA2), A, strideA1, offsetA + (k*strideA2) );
209+
dswap( l+1, A, strideA1, ia1, A, strideA1, ia2 );
206210
dswap( N-k, A, strideA2, offsetA + (j*strideA1), A, strideA2, offsetA + (k*strideA1) );
207211
}
208212
noconv = true;
209213
k += 1;
214+
210215
is += strideScale;
216+
ia2 += strideA2;
211217
}
218+
219+
ia1 += strideA2;
212220
}
213221
}
214222
}

0 commit comments

Comments
 (0)