Define macros before including files.
[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 1
11 #define KAPS_ENABLE_VECTOR_NAMES 1
12 #define KAPS_STATISTIC 0
13
14 typedef intmax_t num;
15
16 #include "matrix_t.h"
17 #include "vector_t.h"
18
19 typedef struct pbqp_edge pbqp_edge;
20 typedef struct pbqp_node pbqp_node;
21 typedef struct pbqp      pbqp;
22
23 static const num INF_COSTS = INTMAX_MAX;
24
25 struct pbqp {
26         struct obstack obstack;            /* Obstack. */
27         num            solution;           /* Computed solution. */
28         size_t         num_nodes;          /* Number of PBQP nodes. */
29         pbqp_node    **nodes;              /* Nodes of PBQP. */
30         FILE          *dump_file;          /* File to dump in. */
31 #if KAPS_STATISTIC
32         unsigned       num_bf;             /* Number of brute force reductions. */
33         unsigned       num_edges;          /* Number of independent edges. */
34         unsigned       num_r0;             /* Number of trivial solved nodes. */
35         unsigned       num_r1;             /* Number of R1 reductions. */
36         unsigned       num_r2;             /* Number of R2 reductions. */
37         unsigned       num_rn;             /* Number of RN reductions. */
38 #endif
39 };
40
41 #endif /* KAPS_PBQP_T_H */