@@ -76,19 +76,9 @@ Int denseFactFH(char format, Int n, Int k, Int nb, double* A, double* B,
7676 // number of rows left below block j
7777 const Int M = n - nb * j - jb;
7878
79- // block of columns below diagonal block j
80- const Int64 R_pos = diag_start[j] + this_diag_size;
81- double * R = &A[R_pos];
82-
8379 // ===========================================================================
8480 // FACTORISE DIAGONAL BLOCK
8581 // ===========================================================================
86- double max_in_R = -1.0 ;
87- if (jb == 1 ) {
88- for (Int64 i = 0 ; i < M * jb; ++i)
89- max_in_R = std::max (max_in_R, std::abs (R[i]));
90- }
91-
9282 double * regul_current = &totalreg[j * nb];
9383 std::vector<Int> pivot_sign_current (&pivot_sign[j * nb],
9484 &pivot_sign[j * nb] + jb);
@@ -100,14 +90,19 @@ Int denseFactFH(char format, Int n, Int k, Int nb, double* A, double* B,
10090 if (info != 0 ) return info;
10191
10292#ifdef HIPO_PIVOTING
103- // swap columns in R
104- applySwaps (swaps_current, M, jb, R, data);
105-
10693 // unswap regularisation, to keep it with original ordering
10794 permuteWithSwaps (regul_current, swaps_current, jb, true );
10895#endif
10996
11097 if (M > 0 ) {
98+ // block of columns below diagonal block j
99+ const Int64 R_pos = diag_start[j] + this_diag_size;
100+ double * R = &A[R_pos];
101+
102+ #ifdef HIPO_PIVOTING
103+ // swap columns in R
104+ applySwaps (swaps_current, M, jb, R, data);
105+ #endif
111106 // ===========================================================================
112107 // SOLVE COLUMNS
113108 // ===========================================================================
0 commit comments