X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4537c6570dded0b0d4d37507e39a97d9c29e146e..0a03cd809dd45e3645a54feffe364d8f2b33d71e:/src/xbt/graph_private.h diff --git a/src/xbt/graph_private.h b/src/xbt/graph_private.h index 6adc68a1c1..4f6645aed2 100644 --- a/src/xbt/graph_private.h +++ b/src/xbt/graph_private.h @@ -10,41 +10,46 @@ #define _XBT_GRAPH_PRIVATE_H #include "xbt/dynar.h" +#define NOT_EXPLORED 0 +#define CURRENTLY_EXPLORING 1 +#define ALREADY_EXPLORED 2 + /* Node structure */ /* typedef struct xbt_node *xbt_node_t; */ -typedef struct xbt_node -{ +typedef struct xbt_node { xbt_dynar_t out; - xbt_dynar_t in; /* not used when the graph is directed */ - void *data; /* user data */ - void *xbtdata; /* private xbt data: should be reinitialized at the - beginning of your algorithm if you need to use it */ + xbt_dynar_t in; /* not used when the graph is directed */ + double position_x; /* positive value: negative means undefined */ + double position_y; /* positive value: negative means undefined */ + void *data; /* user data */ + void *xbtdata; /* private xbt data: should be reinitialized at the + beginning of your algorithm if you need to use it */ } s_xbt_node_t; /* edge structure */ /* typedef struct xbt_edge *xbt_edge_t; */ -typedef struct xbt_edge -{ +typedef struct xbt_edge { xbt_node_t src; xbt_node_t dst; - void *data; /* user data */ - void *xbtdata; /* private xbt data: should be reinitialized at the - beginning of your algorithm if you need to use it */ - double length; + void *data; /* user data */ + void *xbtdata; /* private xbt data: should be reinitialized at the + beginning of your algorithm if you need to use it */ + double length; /* positive value: negative means undefined */ } s_xbt_edge_t; /* Graph structure */ /* typedef struct xbt_graph *xbt_graph_t; */ -typedef struct xbt_graph -{ +typedef struct xbt_graph { xbt_dynar_t nodes; xbt_dynar_t edges; unsigned short int directed; - void *data; /* user data */ - void *xbtdata; /* private xbt data: should be reinitialized at the - beginning of your algorithm if you need to use it */ + void *data; /* user data */ + void *xbtdata; /* private xbt data: should be reinitialized at the + beginning of your algorithm if you need to use it */ } s_xbt_graph_t; -void xbt_floyd_algorithm(xbt_graph_t g, double* adj,double* d, xbt_node_t* p); - +void xbt_floyd_algorithm(xbt_graph_t g, double *adj, double *d, + xbt_node_t * p); +void xbt_graph_depth_visit(xbt_graph_t g, xbt_node_t n, xbt_node_t * sorted, + int *idx); -#endif /* _XBT_GRAPH_PRIVATE_H */ +#endif /* _XBT_GRAPH_PRIVATE_H */