Made frame types final classes.
[libfirm] / ir / adt / bipartite.h
1 /**
2  * @file   bipartite.h
3  * @date   26.01.2006
4  * @author Sebastian Hack
5  *
6  * Copyright (C) 2006 Universitaet Karlsruhe
7  * Released under the GPL
8  *
9  * Implements bipartite matchings.
10  *
11  */
12
13 #ifndef _BIPARTITE_H
14 #define _BIPARTITE_H
15
16 typedef struct _bipartite_t bipartite_t;
17
18 bipartite_t *bipartite_new(int n_left, int n_right);
19 void bipartite_free(bipartite_t *gr);
20 void bipartite_add(bipartite_t *gr, int i, int j);
21 void bipartite_remv(bipartite_t *gr, int i, int j);
22 int bipartite_adj(const bipartite_t *gr, int i, int j);
23 void bipartite_matching(const bipartite_t *gr, int *matching);
24
25 /**
26  * Dumps a bipartite graph to a file stream.
27  */
28 void bipartite_dump_f(FILE *f, const bipartite_t *gr);
29
30 /**
31  * Dumps a bipartite graph to file name.
32  */
33 void bipartite_dump(const char *name, const bipartite_t *gr);
34
35 #endif /* _BIPARTITE_H */