C_SOURCES := $(wildcard *.c) $(wildcard AST/*.c) $(wildcard Tuner/*.c) $(wildcard Collections/*.c) $(wildcard Backend/*.c) $(wildcard Encoders/*.c)
-HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard Tuner.*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h)
+HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard Tuner/*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h)
OBJECTS := $(CPP_SOURCES:%.cc=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o)
CFLAGS := -Wall -g -O0
-CFLAGS += -IAST -ICollections -IBackend -I. -IEncoders
+CFLAGS += -IAST -ICollections -IBackend -I. -IEncoders -ITuner
LDFLAGS := -ldl -lrt -rdynamic
SHARED := -shared
#include "tunable.h"
+
+Tuner * allocTuner() {
+ return ourmalloc(sizeof(Tuner));
+}
+
+void deleteTuner(Tuner *This) {
+ ourfree(This);
+}
+
+int getTunable(Tuner This, TunableParam param, TunableDesc * descriptor) {
+ return descriptor->defaultValue;
+}
+int getVarTunable(Tuner This, VarType vartype, TunableParam param, TunableDesc * descriptor) {
+ return descriptor->defaultValue;
+}
int defaultValue;
};
+Tuner * allocTuner();
+void deleteTuner(Tuner *This);
+
int getTunable(Tuner This, TunableParam param, TunableDesc * descriptor);
int getVarTunable(Tuner This, VarType vartype, TunableParam param, TunableDesc * descriptor);
#include "function.h"
#include "satencoder.h"
#include "sattranslator.h"
+#include "tunable.h"
CSolver *allocCSolver() {
CSolver *This = (CSolver *) ourmalloc(sizeof(CSolver));
This->allOrders = allocDefVectorOrder();
This->allFunctions = allocDefVectorFunction();
This->satEncoder = allocSATEncoder();
+ This->tuner = allocTuner();
return This;
}
}
deleteVectorFunction(This->allFunctions);
deleteSATEncoder(This->satEncoder);
+ deleteTuner(This->tuner);
ourfree(This);
}
struct CSolver {
SATEncoder *satEncoder;
bool unsat;
-
+ Tuner *tuner;
+
/** This is a vector of constraints that must be satisfied. */
HashSetBoolean *constraints;