process_argument(c, b);
}
+void vc_setFlag(VC vc, char c) {
+ bmstar b = (bmstar)(((stpstar)vc)->bm);
+ process_argument(c, b);
+}
+
void vc_setInterfaceFlags(VC vc, enum ifaceflag_t f, int param_value) {
bmstar b = (bmstar)(((stpstar)vc)->bm);
switch (f) {
* the starting context. If the result is false, then the resulting
* context is a context in which e is false. e must have Boolean
* type. */
-int vc_query(VC vc, Expr e, int timeout_ms) {
+int vc_query(VC vc, Expr e)
+{
+ return vc_query_with_timeout(vc,e,-1);
+}
+
+int vc_query_with_timeout(VC vc, Expr e, int timeout_ms) {
nodestar a = (nodestar)e;
stpstar stp = ((stpstar)vc);
bmstar b = (bmstar)(stp->bm);
// h : help
// s : stats
// v : print nodes
+
+ // The "num_absrefine" argument isn't used at all. It's left for compatibility with existing code.
void vc_setFlags(VC vc, char c, int num_absrefine _CVCL_DEFAULT_ARG(0));
+ void vc_setFlag(VC vc, char c);
//! Interface-only flags.
enum ifaceflag_t {
// and if the time has passed, then "timeout" will be returned. It's only checked
// sometimes though, so the actual timeout may be larger. Cryptominisat doesn't check
// the timeout yet..
- int vc_query(VC vc, Expr e, int timeout_ms= -1);
+
+ // The C-language doesn't allow default arguments, so to get it compiling, I've split
+ // it into two functions.
+ int vc_query_with_timeout(VC vc, Expr e, int timeout_ms);
+ int vc_query(VC vc, Expr e);
+
//! Return the counterexample after a failed query.
Expr vc_getCounterExample(VC vc, Expr e);