From 569404ec365dd90d477eedc3fb2782d20881d6e6 Mon Sep 17 00:00:00 2001 From: dimitrov Date: Wed, 29 Mar 2006 12:45:29 +0000 Subject: [PATCH] Testing topological sort. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2008 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- testsuite/xbt/graph.xml | 25 ++++++++++++++++++++--- testsuite/xbt/graphxml_usage.c | 37 +++++++++++++++++++++++++--------- 2 files changed, 49 insertions(+), 13 deletions(-) diff --git a/testsuite/xbt/graph.xml b/testsuite/xbt/graph.xml index 7ed7e712b8..a137935b4b 100644 --- a/testsuite/xbt/graph.xml +++ b/testsuite/xbt/graph.xml @@ -1,7 +1,26 @@ - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/testsuite/xbt/graphxml_usage.c b/testsuite/xbt/graphxml_usage.c index f0b67d55eb..833ae0e26c 100644 --- a/testsuite/xbt/graphxml_usage.c +++ b/testsuite/xbt/graphxml_usage.c @@ -12,10 +12,14 @@ #include "xbt/graph.h" #include "xbt/graphxml.h" #include "xbt/dynar.h" -#include - - - +#include "xbt/sysdep.h" +#include "../src/xbt/graph_private.h" +void* node_label_and_data(xbt_node_t node,const char*label ,const char* data); +void* node_label_and_data(xbt_node_t node,const char*label ,const char* data) +{ + char* lbl=xbt_strdup(label); + return lbl; +} void test(char *graph_file); void test(char *graph_file) { @@ -23,9 +27,10 @@ void test(char *graph_file) unsigned long n; xbt_dynar_t dynar=NULL; xbt_dynar_t dynar1=NULL; + xbt_node_t* sorted=NULL; xbt_node_t * route=NULL; - xbt_graph_t graph = xbt_graph_read(graph_file); + xbt_graph_t graph = xbt_graph_read(graph_file,&node_label_and_data,NULL); n=xbt_dynar_length(xbt_graph_get_nodes( graph)); double *adj=xbt_graph_get_length_matrix(graph); @@ -43,18 +48,29 @@ void test(char *graph_file) route= xbt_graph_shortest_paths( graph); - /* for(i=0;idata) ); *\/ */ +/* if( route[i*n+j]) */ +/* fprintf(stderr,"%s\t",(char*)(route[i*n+j])->data) ); */ /* } */ /* fprintf(stderr,"\n" ); */ /* } */ +sorted= xbt_graph_topo_sort(graph); - + for(i=0;idata) + ) ; + + fprintf(stderr,"\n" );} + } /* while(xbt_dynar_length(dynar)) */ /* xbt_graph_free_node(graph,*((xbt_node_t*)xbt_dynar_get_ptr(dynar,0)),NULL,NULL); */ @@ -66,8 +82,9 @@ while(xbt_dynar_length(dynar)) printf("%lu edges\n",xbt_dynar_length(dynar)); dynar1 = xbt_graph_get_nodes(graph); printf("%lu nodes\n",xbt_dynar_length(dynar1)); -/* free(d); */ - xbt_graph_free_graph(graph, NULL, NULL, NULL); + xbt_free(adj); + xbt_free(route); + xbt_graph_free_graph(graph, NULL, NULL, NULL); } int main(int argc, char** argv) -- 2.20.1