Use union in Boolean to save space
[satune.git] / src / classlist.h
1 /*      Copyright (c) 2015 Regents of the University of California
2  *
3  *      Author: Brian Demsky <bdemsky@uci.edu>
4  *
5  *      This program is free software; you can redistribute it and/or
6  *      modify it under the terms of the GNU General Public License
7  *      version 2 as published by the Free Software Foundation.
8  */
9
10 #ifndef CLASSLIST_H
11 #define CLASSLIST_H
12
13 #include "mymemory.h"
14 #include <inttypes.h>
15 #define bool int
16 #define true 1
17 #define false 0
18
19 struct CSolver;
20 typedef struct CSolver CSolver;
21
22 struct Constraint;
23 typedef struct Constraint Constraint;
24
25 typedef struct BooleanOrder BooleanOrder;
26 typedef struct BooleanVar BooleanVar;
27 typedef struct BooleanLogic BooleanLogic;
28 typedef struct BooleanComp BooleanComp;
29
30 struct Boolean;
31 typedef struct Boolean Boolean;
32
33 struct IncrementalSolver;
34 typedef struct IncrementalSolver IncrementalSolver;
35
36 struct Set;
37 typedef struct Set Set;
38
39 typedef struct Set MutableSet;
40
41 struct Element;
42 typedef struct Element Element;
43
44 struct Function;
45 typedef struct Function Function;
46
47 struct Predicate;
48 typedef struct Predicate Predicate;
49
50 struct Table;
51 typedef struct Table Table;
52
53 struct Order;
54 typedef struct Order Order;
55
56 struct ElementEncoding;
57 typedef struct ElementEncoding ElementEncoding;
58
59 struct FunctionEncoding;
60 typedef struct FunctionEncoding FunctionEncoding;
61
62 struct TableEntry;
63 typedef struct TableEntry TableEntry;
64
65
66 typedef enum ArithOp ArithOp;
67 typedef enum LogicOp LogicOp;
68 typedef enum CompOp CompOp;
69 typedef enum OrderType OrderType;
70 typedef enum BooleanType BooleanType;
71 typedef enum OverFlowBehavior OverFlowBehavior;
72
73 typedef unsigned int uint;
74 typedef uint64_t VarType;
75 #endif