some printf for debugging removed and some comments added
[libfirm] / pbqp_t.h
1 #ifndef KAPS_PBQP_T_H
2 #define KAPS_PBQP_T_H
3
4 #include <limits.h>
5 #include <stdint.h>
6 #include <stdio.h>
7
8 #include "adt/obstack.h"
9
10 #define KAPS_DUMP 0
11 #define KAPS_ENABLE_VECTOR_NAMES 0
12 #define KAPS_STATISTIC 0
13 #define KAPS_TIMING 0
14 #define KAPS_USE_UNSIGNED 0
15
16 #if KAPS_USE_UNSIGNED
17         typedef unsigned num;
18         static const num INF_COSTS = UINT_MAX;
19 #else
20         typedef intmax_t num;
21         static const num INF_COSTS = INTMAX_MAX;
22 #endif
23
24 #include "matrix_t.h"
25 #include "vector_t.h"
26
27 typedef struct pbqp_edge pbqp_edge;
28 typedef struct pbqp_node pbqp_node;
29 typedef struct pbqp      pbqp;
30
31 struct pbqp {
32         struct obstack obstack;            /* Obstack. */
33         num            solution;           /* Computed solution. */
34         size_t         num_nodes;          /* Number of PBQP nodes. */
35         pbqp_node    **nodes;              /* Nodes of PBQP. */
36         FILE          *dump_file;          /* File to dump in. */
37 #if KAPS_STATISTIC
38         unsigned       num_bf;             /* Number of brute force reductions. */
39         unsigned       num_edges;          /* Number of independent edges. */
40         unsigned       num_r0;             /* Number of trivial solved nodes. */
41         unsigned       num_r1;             /* Number of R1 reductions. */
42         unsigned       num_r2;             /* Number of R2 reductions. */
43         unsigned       num_rn;             /* Number of RN reductions. */
44 #endif
45 };
46
47 #endif /* KAPS_PBQP_T_H */