46 Int i, j, k, p, pfree, iwlen, pj, p1, p2, pj2, *Iw, *Pe, *Nv, *Head,
47 *Elen, *Degree, *s, *W, *Sp, *Tp, *BucketSet ;
55 iwlen = slen - (7*
n+2) ;
63 BucketSet = s ; s +=
n ;
73 for (j = 0 ; j <
n ; j++)
87 for (p = 0 ; p < iwlen ; p++) Iw [p] =
EMPTY ;
90 for (k = 0 ; k <
n ; k++)
97 for (p = p1 ; p < p2 ; )
105 ASSERT (Sp [j] < (j ==
n-1 ? pfree : Pe [j+1])) ;
106 ASSERT (Sp [k] < (k ==
n-1 ? pfree : Pe [k+1])) ;
124 ASSERT (Ap [j] <= Tp [j] && Tp [j] <= Ap [j+1]) ;
126 for (pj = Tp [j] ; pj < pj2 ; )
133 ASSERT (Sp [i] < (i ==
n-1 ? pfree : Pe [i+1])) ;
134 ASSERT (Sp [j] < (j ==
n-1 ? pfree : Pe [j+1])) ;
157 for (j = 0 ; j <
n ; j++)
159 for (pj = Tp [j] ; pj < Ap [j+1] ; pj++)
164 ASSERT (Sp [i] < (i ==
n-1 ? pfree : Pe [i+1])) ;
165 ASSERT (Sp [j] < (j ==
n-1 ? pfree : Pe [j+1])) ;
172 for (j = 0 ; j <
n-1 ; j++)
ASSERT (Sp [j] == Pe [j+1]) ;
182 CAMD_2 (
n, Pe, Iw, Len, iwlen, pfree,
183 Nv, Pinv,
P, Head, Elen, Degree, W, Control, Info,
C, BucketSet) ;
GLOBAL Int CAMD_valid(Int n_row, Int n_col, const Int Ap [], const Int Ai [])
GLOBAL Int CAMD_cvalid(Int n, const Int C [])
#define ASSERT(expression)
#define CAMD_DEBUG1(params)
GLOBAL void CAMD_1(Int n, const Int Ap [], const Int Ai [], Int P [], Int Pinv [], Int Len [], Int slen, Int S [], double Control [], double Info [], const Int C [])