X-Git-Url: http://plrg.eecs.uci.edu/git/?p=satune.git;a=blobdiff_plain;f=src%2Fcsolver.h;h=c5c3b8d6fff90869b2be6338a3c0bcd3c477bfb1;hp=e254abbc29c8026ddc274166f4b9de23c167c89d;hb=884a4eecd0bafb4f0b6d11bca7e463892d284153;hpb=e80028bf761f04dd410b45d1dadc0b8b5fd5817e diff --git a/src/csolver.h b/src/csolver.h index e254abb..c5c3b8d 100644 --- a/src/csolver.h +++ b/src/csolver.h @@ -57,6 +57,8 @@ public: Set *getElementRange (Element *element); + void mustHaveValue(Element *element); + BooleanEdge getBooleanTrue(); BooleanEdge getBooleanFalse(); @@ -157,6 +159,7 @@ public: void replaceBooleanWithFalse(BooleanEdge bexpr); void replaceBooleanWithBoolean(BooleanEdge oldb, BooleanEdge newb); CSolver *clone(); +// Set* addItemsToRange(Element* element, uint num, ...); void serialize(); static CSolver *deserialize(const char *file); void autoTune(uint budget); @@ -174,7 +177,8 @@ public: private: void handleIFFTrue(BooleanLogic *bexpr, BooleanEdge child); void handleANDTrue(BooleanLogic *bexpr, BooleanEdge child); - + void handleFunction(ElementFunction * ef, BooleanEdge child); + //These two functions are helpers if the client has a pointer to a //Boolean object that we have since replaced BooleanEdge rewriteLogicalOperation(LogicOp op, BooleanEdge *array, uint asize);