/** When everything is done, the client calls this function and then csolver starts to encode*/
int solve();
-
+
/** After getting the solution from the SAT solver, client can get the value of an element via this function*/
uint64_t getElementValue(Element *element);
void replaceBooleanWithBoolean(BooleanEdge oldb, BooleanEdge newb);
CSolver *clone();
void serialize();
- static CSolver *deserialize(const char *file, bool alloy = false);
+ static CSolver *deserialize(const char *file, InterpreterType itype = SATUNE);
void autoTune(uint budget);
void inferFixedOrders();
void inferFixedOrder(Order *order);
- void setAlloyEncoder();
- bool useAlloyCompiler() {return alloyEncoder != NULL;}
+ void setInterpreter(InterpreterType type);
+ bool useInterpreter() {return interpreter != NULL;}
void setTuner(Tuner *_tuner) { tuner = _tuner; }
long long getElapsedTime() { return elapsedTime; }
long long getEncodeTime();
Tuner *tuner;
long long elapsedTime;
long satsolverTimeout;
- AlloyEnc *alloyEncoder;
+ Interpreter *interpreter;
friend class ElementOpt;
friend class VarOrderingOpt;
};