22 Int p, i, j, len, nz, tp, xlen, pend ;
27 for (i = 0 ; i < n ; i++)
31 for (j = 0 ; j < n ; j++)
34 for (p = 0 ; p < len ; p++)
42 for (i = 0 ; i < n ; i++)
48 for (i = 0 ; i < n ; i++)
54 for (j = 0 ; j < n ; j++)
57 for (p = 0 ; p < len ; p++)
66 for (j = 0 ; j < n ; j++)
70 for (i = 0 ; i < n ; i++)
73 for (p = Tp [i] ; p < pend ; p++)
98 Int *R, *W, *Tp, *Ti, *Lip, *Uip, *Llen, *Ulen ;
101 Int n, nk, nz, block, nblocks, maxblock, k1 ;
112 nblocks = Symbolic->nblocks ;
113 maxblock = Symbolic->maxblock ;
116 Llen = Numeric->Llen ;
118 Ulen = Numeric->Ulen ;
119 LUbx = (
Unit **) Numeric->LUbx ;
121 m1 = ((
size_t) maxblock) + 1 ;
124 nz =
MAX (Numeric->max_lnz_block, Numeric->max_unz_block) ;
130 PRINTF ((
"\n======================= Start sort:\n")) ;
132 if (Common->status ==
KLU_OK)
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 PRINTF ((
"\n======================= sort done.\n")) ;
155 return (Common->status ==
KLU_OK) ;
#define GET_POINTER(LU, Xip, Xlen, Xi, Xx, k, xlen)
Int KLU_sort(KLU_symbolic *Symbolic, KLU_numeric *Numeric, KLU_common *Common)
static void sort(Int n, Int *Xip, Int *Xlen, Unit *LU, Int *Tp, Int *Tj, Entry *Tx, Int *W)
#define ASSERT(expression)