#ifndef CSOLVER_H
#define CSOLVER_H
-#include "classlist.h"
+#include "classes.h"
#include "ops.h"
-#include "structs.h"
+#include "corestructs.h"
#include "asthash.h"
class CSolver {
/** This function creates an element constrant. */
Element *getElementConst(VarType type, uint64_t value);
+ Boolean *getBooleanTrue();
+
+ Boolean *getBooleanFalse();
+
/** This function creates a boolean variable. */
Boolean *getBooleanVar(VarType type);
Tuner *getTuner() { return tuner; }
- HSIteratorBoolean *getConstraints() { return constraints.iterator(); }
+ SetIteratorBoolean *getConstraints() { return constraints.iterator(); }
SATEncoder *getSATEncoder() {return satEncoder;}
long long getEncodeTime();
long long getSolveTime();
- MEMALLOC;
+ CMEMALLOC;
private:
void handleXORFalse(BooleanLogic *bexpr, Boolean *child);
/** This is a vector of all function structs that we have allocated. */
Vector<Function *> allFunctions;
+ Boolean * boolTrue;
+ Boolean * boolFalse;
+
/** These two tables are used for deduplicating entries. */
BooleanMatchMap boolMap;
ElementMatchMap elemMap;