X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/69741d58821803ebf07f8bfd7ed225960c552785..f43bc484f697666583ba779d3adb325f1eee498b:/src/xbt/graph_private.h diff --git a/src/xbt/graph_private.h b/src/xbt/graph_private.h index 614cf3c935..819a11fc39 100644 --- a/src/xbt/graph_private.h +++ b/src/xbt/graph_private.h @@ -1,31 +1,21 @@ -#include "xbt/misc.h" -#include "xbt/sysdep.h" -#include "xbt/dynar.h" +/* Copyright (c) 2006, 2009-2010, 2012-2014. The SimGrid Team. + * All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ -/* Node structure */ -typedef struct xbt_node *xbt_node_t; -typedef struct xbt_node { - xbt_dynar_t out; - xbt_dynar_t in; - xbt_node_t *route; - void *data; -} s_xbt_node_t; +#ifndef _XBT_GRAPH_PRIVATE_H +#define _XBT_GRAPH_PRIVATE_H +#include "xbt/dynar.h" +#include "xbt/graph.h" -/* edge structure */ -typedef struct xbt_edge *xbt_edge_t; -typedef struct xbt_edge { - xbt_node_t src; - xbt_node_t dst; - void *data; -} s_xbt_edge_t; +#define NOT_EXPLORED 0 +#define CURRENTLY_EXPLORING 1 +#define ALREADY_EXPLORED 2 -/* Graph structure */ -typedef struct xbt_graph *xbt_graph_t; -typedef struct xbt_graph { - char *name; - xbt_dynar_t nodes; - xbt_dynar_t edges; - unsigned short int directed; - void *data; -} s_xbt_graph_t; +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 */