00001
00002
00007 #include <stdio.h>
00008 #include <stdlib.h>
00009 #include <unistd.h>
00010 #include <stdlib.h>
00011 #include <stdio.h>
00012
00013 typedef int ** _graph_t;
00014
00015 struct _graph {
00016 _graph_t g;
00017 unsigned int nnodes;
00018 unsigned int *degree;
00019 unsigned int *degree_dist;
00020 };
00021
00023 typedef struct _graph* graph_t;
00024
00027
00028 typedef unsigned int node_t;
00029
00031 graph_t graph_new(node_t n);
00032
00034 void graph_clear(graph_t g);
00035
00037 void graph_set_edge(graph_t g, node_t i, node_t j);
00038
00040 int graph_get_edge(graph_t g, node_t i, node_t j);
00041
00043 void graph_del_edge(graph_t g, node_t i, node_t j);
00044
00046 int graph_flip_edge(graph_t g, node_t i, node_t j);
00047
00049 void graph_show(graph_t g, node_t n);
00050
00052 node_t graph_get_degree(graph_t g, node_t i);
00053
00055 node_t graph_get_nedges(graph_t g);
00056
00058 void graph_write_dotfile(char* fn, graph_t g, unsigned int n);
00059
00061 double graph_timing_init(FILE *f);
00062
00064 double graph_timing_end(FILE *f);
00065