00001
00002
00007 #include <stdio.h>
00008 #include <stdlib.h>
00009 #include <unistd.h>
00010 #include <time.h>
00011 #include <sys/times.h>
00012 #define NDEBUG // switches off asserts
00013 #include <assert.h>
00014 #include <glib.h>
00015
00019
00020 typedef gushort node_t;
00021
00023 typedef struct _graph* graph_t;
00024
00026 graph_t graph_new(node_t n);
00027
00029 void graph_clear(graph_t g);
00030
00032 void graph_set_edge(graph_t g, node_t i, node_t j);
00033
00035 gboolean graph_get_edge(graph_t g, node_t i, node_t j);
00036
00038 gboolean graph_del_edge(graph_t g, node_t i, node_t j);
00039
00041 void graph_flip_edge(graph_t g, node_t i, node_t j);
00042
00044 void graph_show_degrees(graph_t);
00045
00047 void graph_show_neighbours(graph_t,node_t);
00048
00050 void graph_show(graph_t g);
00051
00053 node_t graph_get_degree(graph_t g, node_t i);
00054
00056 node_t graph_get_nedges(graph_t g);
00057
00059 void graph_show_degree_dist(graph_t g);
00060
00062 void graph_write_dotfile(char* fn, graph_t g, unsigned int n);
00063
00065 void graph_write_glossfile(char* fn, graph_t g, unsigned int n);
00066
00068 double graph_timing_init(FILE *f);
00069
00071 double graph_timing_end(FILE *f);
00072
00074 void graph_show_glib_version(void);
00075