28     Int nz, i, j, p, pend ;
 
   42     if (n <= 0 || Ap == 
NULL || Ai == 
NULL)
 
   50     if (Ap [0] != 0 || nz < 0)
 
   57     for (j = 0 ; j < n ; j++)
 
   59   if (Ap [j] > Ap [j+1])
 
   67     if (Common->status < 
KLU_OK)
 
   73     for (i = 0 ; i < n ; i++)
 
   77     for (j = 0 ; j < n ; j++)
 
   80   for (p = Ap [j] ; p < pend ; p++)
 
   83       if (i < 0 || i >= n || P [i] == j)
 
  100     if (Common->status < 
KLU_OK)
 
  110     Lnz = 
KLU_malloc (n, 
sizeof (
double), Common) ;
 
  117     Symbolic->Lnz = Lnz ;
 
  119     if (Common->status < 
KLU_OK)
 
  150     Int nblocks, nz, block, maxblock, *
P, *Q, *R, nzoff, p, pend, do_btf, k ;
 
  157     if (Symbolic == 
NULL)
 
  164     Lnz = Symbolic->Lnz ;
 
  173   for (k = 0 ; k < n ; k++)
 
  180   for (k = 0 ; k < n ; k++)
 
  190     do_btf = Common->btf ;
 
  192     Symbolic->ordering = 2 ;
 
  193     Symbolic->do_btf = do_btf ;
 
  206   Int *Pinv, *Work, *Bi, k1, k2, nk, oldcol ;
 
  219   if (Common->status < 
KLU_OK)
 
  239       for (k = 0 ; k < n ; k++)
 
  241     Pinv [Puser [k]] = k ;
 
  243       for (p = 0 ; p < nz ; p++)
 
  245     Bi [p] = Pinv [Ai [p]] ;
 
  262       for (k = 0 ; k < n ; k++)
 
  264     Work [k] = Puser [P [k]] ;
 
  266       for (k = 0 ; k < n ; k++)
 
  276   for (k = 0 ; k < n ; k++)
 
  288   for (block = 0 ; block < nblocks ; block++)
 
  298       PRINTF ((
"BLOCK %d, k1 %d k2-1 %d nk %d\n", block, k1, k2-1, nk)) ;
 
  299       maxblock = 
MAX (maxblock, nk) ;
 
  305       for (k = k1 ; k < k2 ; k++)
 
  308     pend = Ap [oldcol+1] ;
 
  309     for (p = Ap [oldcol] ; p < pend ; p++)
 
  311         if (Pinv [Ai [p]] < k1)
 
  319       Lnz [block] = 
EMPTY ;
 
  352   for (k = 0 ; k < n ; k++)
 
  354       P [k] = (Puser == 
NULL) ? k : Puser [k] ;
 
  362     Symbolic->nblocks = nblocks ;
 
  363     Symbolic->maxblock = maxblock ;
 
  364     Symbolic->lnz = 
EMPTY ;
 
  365     Symbolic->unz = 
EMPTY ;
 
  366     Symbolic->nzoff = nzoff ;
 
#define KLU_OUT_OF_MEMORY
KLU_symbolic * KLU_analyze_given(Int n, Int Ap[], Int Ai[], Int Puser[], Int Quser[], KLU_common *Common)
#define KLU_free_symbolic
KLU_symbolic * KLU_alloc_symbolic(Int n, Int *Ap, Int *Ai, KLU_common *Common)