132 for ( ; p < pend ; p++) \
140 for (len = 0 ; i < k && i != EMPTY && Flag [i] < mark ; i = parent) \
143 Stack [len++] = i ; \
145 parent = PARENT (i) ; \
150 Stack [--top] = Stack [--len] ; \
217 Int *Rp, *Stack, *Flag, *Ap, *Ai, *Anz, *Fp, *Fi, *Fnz ;
218 Int p, pend, parent, t, stype, nrow, k, pf, pfend, Fpacked, packed,
219 sorted, top, len, i, mark ;
242 if (R->ncol != 1 || A->
nrow != R->nrow || A->
nrow > R->nzmax)
279 Fpacked = F->packed ;
301 Flag = Common->Flag ;
312 #define PARENT(i) Parent [i]
318 pend = (packed) ? (Ap [k+1]) : (p + Anz [k]) ;
325 pfend = (Fpacked) ? (Fp [k+1]) : (pf + Fnz [k]) ;
326 for ( ; pf < pfend ; pf++)
331 pend = (packed) ? (Ap [t+1]) : (p + Anz [t]) ;
341 for (i = 0 ; i < len ; i++)
343 Stack [i] = Stack [top + i] ;
379 Int *Rp, *Stack, *Flag, *Ap, *Ai, *Anz, *Lp, *Li, *Lnz ;
380 Int p, pend, parent, t, stype, nrow, k, pf, packed, sorted, top, len, i,
404 if (R->ncol != 1 || A->
nrow != R->nrow || A->
nrow > R->nzmax)
456 Flag = Common->Flag ;
467 #define PARENT(i) (Lnz [i] > 1) ? (Li [Lp [i] + 1]) : EMPTY
473 pend = (packed) ? (Ap [k+1]) : (p + Anz [k]) ;
479 for (pf = 0 ; pf < (
Int) fnz ; pf++)
484 pend = (packed) ? (Ap [t+1]) : (p + Anz [t]) ;
494 for (i = 0 ; i < len ; i++)
496 Stack [i] = Stack [top + i] ;
583 if (A->
xtype != F->xtype)
606 Common->rowfacfl = 0 ;
640 ok = r_cholmod_rowfac (A, F, beta, kstart, kend, L, Common) ;
644 ok = c_cholmod_rowfac (A, F, beta, kstart, kend, L, Common) ;
648 ok = z_cholmod_rowfac (A, F, beta, kstart, kend, L, Common) ;
659 ok = r_cholmod_rowfac_mask (A, F, beta, kstart, kend,
660 mask, RLinkUp, L, Common) ;
664 ok = c_cholmod_rowfac_mask (A, F, beta, kstart, kend,
665 mask, RLinkUp, L, Common) ;
669 ok = z_cholmod_rowfac_mask (A, F, beta, kstart, kend,
670 mask, RLinkUp, L, Common) ;
int CHOLMOD() row_subtree(cholmod_sparse *A, cholmod_sparse *F, size_t krow, Int *Parent, cholmod_sparse *R, cholmod_common *Common)
#define CHOLMOD_TOO_LARGE
int CHOLMOD() row_lsubtree(cholmod_sparse *A, Int *Fi, size_t fnz, size_t krow, cholmod_factor *L, cholmod_sparse *R, cholmod_common *Common)
#define RETURN_IF_NULL_COMMON(result)
size_t CHOLMOD() mult_size_t(size_t a, size_t k, int *ok)
int CHOLMOD() dump_work(int flag, int head, UF_long wsize, cholmod_common *Common)
int CHOLMOD() rowfac(cholmod_sparse *A, cholmod_sparse *F, double beta[2], size_t kstart, size_t kend, cholmod_factor *L, cholmod_common *Common)
#define ASSERT(expression)
int CHOLMOD() rowfac_mask(cholmod_sparse *A, cholmod_sparse *F, double beta[2], size_t kstart, size_t kend, Int *mask, Int *RLinkUp, cholmod_factor *L, cholmod_common *Common)
int CHOLMOD() allocate_work(size_t nrow, size_t iworksize, size_t xworksize, cholmod_common *Common)
#define RETURN_IF_NULL(A, result)
UF_long CHOLMOD() clear_flag(cholmod_common *Common)
#define ERROR(status, msg)
#define RETURN_IF_XTYPE_INVALID(A, xtype1, xtype2, result)