34 Int p1, p2, p, i, j, pj, pj2, k, nzdiag, nzboth, nz ;
40 for (k = 0 ; k <
n ; k++) Tp [k] =
EMPTY ;
44 if (Info != (
double *)
NULL)
54 for (k = 0 ; k < n ; k++)
63 for (k = 0 ; k < n ; k++)
70 for (p = p1 ; p < p2 ; )
80 AMD_DEBUG3 ((
" upper ("ID
","ID
") ("ID
","ID
")\n", j,k, k,j));
98 ASSERT (Ap [j] <= Tp [j] && Tp [j] <= Ap [j+1]) ;
100 for (pj = Tp [j] ; pj < pj2 ; )
109 AMD_DEBUG3 ((
" lower ("ID
","ID
") ("ID
","ID
")\n",
133 for (j = 0 ; j < n ; j++)
135 for (pj = Tp [j] ; pj < Ap [j+1] ; pj++)
163 sym = (2 * (double) nzboth) / ((double) (nz - nzdiag)) ;
167 for (k = 0 ; k < n ; k++)
172 AMD_DEBUG1 ((
"AMD nz in A+A', excluding diagonal (nzaat) = %g\n",
175 nzboth, nz, nzdiag, sym)) ;
177 if (Info != (
double *)
NULL)
#define AMD_DEBUG1(params)
#define AMD_DEBUG3(params)
#define ASSERT(expression)
#define AMD_DEBUG2(params)
GLOBAL size_t AMD_aat(Int n, const Int Ap[], const Int Ai[], Int Len[], Int Tp[], double Info[])