45 Int i, j, k, p, pfree, iwlen, pj, p1, p2, pj2, *Iw, *Pe, *Nv, *Head,
46 *Elen, *Degree, *s, *W, *Sp, *Tp ;
70 for (j = 0 ; j <
n ; j++)
84 for (p = 0 ; p < iwlen ; p++) Iw [p] =
EMPTY ;
87 for (k = 0 ; k <
n ; k++)
89 AMD_DEBUG1 ((
"Construct row/column k= "ID" of A+A'\n", k)) ;
94 for (p = p1 ; p < p2 ; )
102 ASSERT (Sp [j] < (j ==
n-1 ? pfree : Pe [j+1])) ;
103 ASSERT (Sp [k] < (k ==
n-1 ? pfree : Pe [k+1])) ;
121 ASSERT (Ap [j] <= Tp [j] && Tp [j] <= Ap [j+1]) ;
123 for (pj = Tp [j] ; pj < pj2 ; )
130 ASSERT (Sp [i] < (i ==
n-1 ? pfree : Pe [i+1])) ;
131 ASSERT (Sp [j] < (j ==
n-1 ? pfree : Pe [j+1])) ;
154 for (j = 0 ; j <
n ; j++)
156 for (pj = Tp [j] ; pj < Ap [j+1] ; pj++)
161 ASSERT (Sp [i] < (i ==
n-1 ? pfree : Pe [i+1])) ;
162 ASSERT (Sp [j] < (j ==
n-1 ? pfree : Pe [j+1])) ;
169 for (j = 0 ; j <
n-1 ; j++)
ASSERT (Sp [j] == Pe [j+1]) ;
179 AMD_2 (
n, Pe, Iw, Len, iwlen, pfree,
180 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 [])