26
26
/* count the number of entries in each row of L or U */
27
27
for (i = 0 ; i < n ; i++)
31
31
for (j = 0 ; j < n ; j++)
33
GET_POINTER (LU, Xip, Xlen, Xi, Xx, j, len) ;
34
for (p = 0 ; p < len ; p++)
33
GET_POINTER (LU, Xip, Xlen, Xi, Xx, j, len) ;
34
for (p = 0 ; p < len ; p++)
40
40
/* construct the row pointers for T */
42
42
for (i = 0 ; i < n ; i++)
48
48
for (i = 0 ; i < n ; i++)
53
53
/* transpose the matrix into Tp, Ti, Tx */
54
54
for (j = 0 ; j < n ; j++)
56
GET_POINTER (LU, Xip, Xlen, Xi, Xx, j, len) ;
57
for (p = 0 ; p < len ; p++)
56
GET_POINTER (LU, Xip, Xlen, Xi, Xx, j, len) ;
57
for (p = 0 ; p < len ; p++)
65
65
/* transpose the matrix back into Xip, Xlen, Xi, Xx */
66
66
for (j = 0 ; j < n ; j++)
70
70
for (i = 0 ; i < n ; i++)
73
for (p = Tp [i] ; p < pend ; p++)
76
GET_POINTER (LU, Xip, Xlen, Xi, Xx, j, len) ;
73
for (p = Tp [i] ; p < pend ; p++)
76
GET_POINTER (LU, Xip, Xlen, Xi, Xx, j, len) ;
83
83
ASSERT (KLU_valid_LU (n, FALSE, Xip, Xlen, LU)) ;
132
132
if (Common->status == KLU_OK)
134
/* sort each block of L and U */
135
for (block = 0 ; block < nblocks ; block++)
138
nk = R [block+1] - k1 ;
141
PRINTF (("\n-------------------block: %d nk %d\n", block, nk)) ;
142
sort (nk, Lip + k1, Llen + k1, LUbx [block], Tp, Ti, Tx, W) ;
143
sort (nk, Uip + k1, Ulen + k1, LUbx [block], Tp, Ti, Tx, W) ;
134
/* sort each block of L and U */
135
for (block = 0 ; block < nblocks ; block++)
138
nk = R [block+1] - k1 ;
141
PRINTF (("\n-------------------block: %d nk %d\n", block, nk)) ;
142
sort (nk, Lip + k1, Llen + k1, LUbx [block], Tp, Ti, Tx, W) ;
143
sort (nk, Uip + k1, Ulen + k1, LUbx [block], Tp, Ti, Tx, W) ;
148
148
PRINTF (("\n======================= sort done.\n")) ;