48 Int i, j, k, p, pfree, iwlen, pj, p1, p2, pj2, *Iw, *Pe, *Nv, *Head,
49 *Elen, *Degree, *s, *W, *Sp, *Tp ;
73 for (j = 0 ; j <
n ; j++)
87 for (p = 0 ; p < iwlen ; p++) Iw [p] =
EMPTY ;
90 for (k = 0 ; k <
n ; k++)
92 AMD_DEBUG1 ((
"Construct row/column k= "ID" of A+A'\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 AMD_2 (
n, Pe, Iw, Len, iwlen, pfree,
183 Nv, Pinv,
P, Head, Elen, Degree, W, Control, Info) ;
#define AMD_DEBUG1(params)
#define ASSERT(expression)
GLOBAL void AMD_1(Int n, const Int Ap [], const Int Ai [], Int P [], Int Pinv [], Int Len [], Int slen, Int S [], double Control [], double Info [])