Skip to content

Commit bfe5443

Browse files
committed
refactor: use manual loops instead of loop reordering
--- 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 0689326 commit bfe5443

File tree

1 file changed

+18
-14
lines changed
  • lib/node_modules/@stdlib/lapack/base/dlange/lib

1 file changed

+18
-14
lines changed

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

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2424
var dlassq = require( '@stdlib/lapack/base/dlassq' ).ndarray;
2525
var isRowMajor = require( '@stdlib/ndarray/base/assert/is-row-major' );
26-
var loopOrder = require( '@stdlib/ndarray/base/nullary-loop-interchange-order' );
2726
var dasum = require( '@stdlib/blas/base/dasum' ).ndarray;
2827
var Float64Array = require( '@stdlib/array/float64' );
2928
var min = require( '@stdlib/math/base/special/min' );
@@ -140,30 +139,35 @@ function maxAbs( M, N, A, strideA1, strideA2, offsetA ) {
140139
var value;
141140
var temp;
142141
var da0;
142+
var sa1;
143+
var sa2;
143144
var da1;
144145
var ia;
145-
var sa;
146-
var sh;
147-
var S0;
148146
var S1;
149-
var o;
147+
var S2;
150148
var i;
151149
var j;
152150

153151
value = 0.0;
154152

155-
// Resolve the loop interchange order:
156-
o = loopOrder( [ M, N ], [ strideA1, strideA2 ] );
157-
sh = o.sh;
158-
sa = o.sx;
159-
S0 = sh[ 0 ];
160-
S1 = sh[ 1 ];
161-
da0 = sa[ 0 ];
162-
da1 = sa[ 1 ] - ( S0*sa[0] );
153+
if ( isRowMajor( strideA1, strideA2 ) ) {
154+
S1 = M;
155+
S2 = N;
156+
sa1 = strideA1;
157+
sa2 = strideA2;
158+
} else {
159+
S1 = N;
160+
S2 = M;
161+
sa1 = strideA2;
162+
sa2 = strideA1;
163+
}
164+
165+
da0 = sa2;
166+
da1 = sa1 - (S2 * sa2);
163167
ia = offsetA;
164168

165169
for ( i = 0; i < S1; i++ ) {
166-
for ( j = 0; j < S0; j++ ) {
170+
for ( j = 0; j < S2; j++ ) {
167171
temp = A[ ia ];
168172
if ( value < temp || isnan( temp ) ) {
169173
value = temp;

0 commit comments

Comments
 (0)