Polly 20.0.0git
isl_tarjan.h
Go to the documentation of this file.
1#ifndef ISL_TARJAN_H
2#define ISL_TARJAN_H
3
4/* Structure for representing the nodes in the graph being traversed
5 * using Tarjan's algorithm.
6 * index represents the order in which nodes are visited.
7 * min_index is the index of the root of a (sub)component.
8 * on_stack indicates whether the node is currently on the stack.
9 */
11 int index;
14};
15
16/* Structure for representing the graph being traversed
17 * using Tarjan's algorithm.
18 * len is the number of nodes
19 * node is an array of nodes
20 * stack contains the nodes on the path from the root to the current node
21 * sp is the stack pointer
22 * index is the index of the last node visited
23 * order contains the elements of the components separated by -1
24 * op represents the current position in order
25 */
27 int len;
29 int *stack;
30 int sp;
31 int index;
32 int *order;
33 int op;
34};
35
37 isl_bool (*follows)(int i, int j, void *user), void *user);
39 int node, isl_bool (*follows)(int i, int j, void *user), void *user);
41
42#endif
isl_bool
Definition: ctx.h:89
isl_stat isl_stat(*) void user)
Definition: hmap.h:39
struct isl_tarjan_graph * isl_tarjan_graph_component(isl_ctx *ctx, int len, int node, isl_bool(*follows)(int i, int j, void *user), void *user)
Definition: isl_tarjan.c:147
struct isl_tarjan_graph * isl_tarjan_graph_free(struct isl_tarjan_graph *g)
Definition: isl_tarjan.c:17
struct isl_tarjan_graph * isl_tarjan_graph_init(isl_ctx *ctx, int len, isl_bool(*follows)(int i, int j, void *user), void *user)
Definition: isl_tarjan.c:119
struct isl_tarjan_node * node
Definition: isl_tarjan.h:28