62 pastix_int_t *visited = NULL;
63 pastix_int_t *length = NULL;
64 pastix_int_t *stack = NULL;
65 pastix_int_t *adj = NULL;
66 pastix_int_t *ja = NULL;
68 pastix_int_t h, i, j, k, t;
73 if ( graphA == NULL ) {
79 if ( graphL == NULL ) {
84 if ( graphA->n == 0 ) {
89 MALLOC_INTERN( visited, graphA->n, pastix_int_t );
90 MALLOC_INTERN( length, graphA->n, pastix_int_t );
91 MALLOC_INTERN( stack, graphA->n, pastix_int_t );
92 MALLOC_INTERN( ja, graphA->n, pastix_int_t );
96 for ( j = 0; j < graphA->n; j++ ) {
103 for ( i = 0; i < graphA->n; i++ ) {
118 adj = graphA->rows[h];
119 for ( j = 0; j < graphA->nnz[h]; j++ ) {
121 if ( visited[t] != i ) {
123 if ( ( t < i ) && ( length[h] < level ) ) {
126 length[t] = length[h] + 1;
138 MALLOC_INTERN( graphL->rows[i], k, pastix_int_t );
139 memcpy( graphL->rows[i], ja, k *
sizeof( pastix_int_t ) );
141 intSort1asc1( graphL->rows[i], graphL->nnz[i] );
152 memFree_null( visited );
153 memFree_null( length );
154 memFree_null( stack );
156 graphL->total_nnz = nnz;