xbt_edge_t xbt_graph_get_edge(xbt_graph_t g, xbt_node_t src, xbt_node_t dst)
{
xbt_edge_t edge;
- int cursor;
+ unsigned int cursor;
xbt_dynar_foreach(src->out, cursor, edge) {
DEBUG3("%p = %p--%p",edge,edge->src,edge->dst);
* Free the graph structure.
*/
void xbt_graph_free_graph(xbt_graph_t g,
- void_f_pvoid_t * node_free_function,
- void_f_pvoid_t * edge_free_function,
- void_f_pvoid_t * graph_free_function)
+ void_f_pvoid_t node_free_function,
+ void_f_pvoid_t edge_free_function,
+ void_f_pvoid_t graph_free_function)
{
- int cursor = 0;
+ unsigned int cursor = 0;
xbt_node_t node = NULL;
xbt_edge_t edge = NULL;
xbt_dynar_foreach(g->edges, cursor, edge)
free(edge);
xbt_dynar_free(&(g->edges));
- if(graph_free_function) (*graph_free_function)(g->data);
+ if(graph_free_function)
+ (*graph_free_function)(g->data);
free(g);
return;
/** @brief remove the given node from the given graph */
void xbt_graph_free_node(xbt_graph_t g, xbt_node_t n,
- void_f_pvoid_t * node_free_function,
- void_f_pvoid_t * edge_free_function)
+ void_f_pvoid_t node_free_function,
+ void_f_pvoid_t edge_free_function)
{
unsigned long nbr;
- int i;
- int cursor = 0;
+ unsigned long i;
+ unsigned int cursor = 0;
xbt_node_t node = NULL;
xbt_edge_t edge = NULL;
}
if ((node_free_function) && (n->data))
- node_free_function(n->data);
+ (*node_free_function)(n->data);
cursor = 0;
xbt_dynar_foreach(g->nodes, cursor, node)
/** @brief remove the given edge from the given graph */
void xbt_graph_free_edge(xbt_graph_t g, xbt_edge_t e,
- void_f_pvoid_t *free_function)
+ void_f_pvoid_t free_function)
{
int idx;
- int cursor = 0;
+ unsigned int cursor = 0;
xbt_edge_t edge = NULL;
if ((free_function) && (e->data))
int __xbt_find_in_dynar(xbt_dynar_t dynar, void *p)
{
- int cursor = 0;
+ unsigned int cursor = 0;
void *tmp = NULL;
xbt_dynar_foreach(dynar, cursor, tmp) {
*/
double *xbt_graph_get_length_matrix(xbt_graph_t g)
{
- int cursor = 0;
- int in_cursor = 0;
- int idx, i;
+ unsigned int cursor = 0;
+ unsigned int in_cursor = 0;
+ unsigned long idx, i;
unsigned long n;
xbt_edge_t edge = NULL;
xbt_node_t node = NULL;
void xbt_floyd_algorithm(xbt_graph_t g, double *adj, double *d,
xbt_node_t * p)
{
- int i, j, k;
+ unsigned long i, j, k;
unsigned long n;
n = xbt_dynar_length(g->nodes);
{
xbt_node_t *p;
xbt_node_t *r;
- int i, j, k;
+ unsigned long i, j, k;
unsigned long n;
double *adj = NULL;
xbt_node_t node = NULL;
xbt_dynar_t edge_list = NULL;
xbt_heap_t heap = xbt_heap_new(10, NULL);
- int cursor;
+ unsigned int cursor;
xbt_assert0(!(g->directed),
"Spanning trees do not make sense on directed graphs");
{
xbt_node_t *sorted;
- int cursor, idx;
+ unsigned int cursor;
+ int idx;
xbt_node_t node;
unsigned long n;
void xbt_graph_depth_visit(xbt_graph_t g, xbt_node_t n,
xbt_node_t * sorted, int *idx)
{
- int cursor;
+ unsigned int cursor;
xbt_edge_t edge;
if (*((int *) (n->xbtdata)) == ALREADY_EXPLORED)
/** @brief Import a graph from a file following the GraphXML format */
xbt_graph_t xbt_graph_read(const char *filename,
- void *(node_label_and_data) (xbt_node_t,
+ void *(*node_label_and_data) (xbt_node_t,
const char *,
const char *),
- void *(edge_label_and_data) (xbt_edge_t,
+ void *(*edge_label_and_data) (xbt_edge_t,
const char *,
const char *))
{
ETag_graphxml_edge_fun = __parse_edge;
xbt_graph_parse_open(filename);
- xbt_assert1((!xbt_graph_parse()), "Parse error in %s", filename);
+ xbt_assert1((!(*xbt_graph_parse)()), "Parse error in %s", filename);
xbt_graph_parse_close();
graph = parsed_graph;
const char *(node_name) (xbt_node_t),
const char *(edge_name) (xbt_edge_t))
{
- int cursor = 0;
+ unsigned int cursor = 0;
xbt_node_t node = NULL;
xbt_edge_t edge = NULL;
FILE *file = NULL;
const char *(node_data_print) (void *),
const char *(edge_data_print) (void *))
{
- int cursor = 0;
+ unsigned int cursor = 0;
xbt_node_t node = NULL;
xbt_edge_t edge = NULL;
FILE *file = NULL;