#include "classlist.h"
#include "mymemory.h"
#include "ops.h"
+#include "structs.h"
/**
This is a little sketchy, but apparently legit.
Boolean * right;
};
+struct BooleanPredicate{
+ Boolean base;
+ Predicate * predicate;
+ VectorElement* inputs;
+};
Boolean * allocBoolean(VarType t);
Boolean * allocBooleanOrder(Order * order, uint64_t first, uint64_t second);
+Boolean * allocBooleanPredicate(Predicate * predicate, Element ** inputs, uint numInputs);
+Boolean * allocBooleanLogic(LogicOp op, Boolean * left, Boolean* right);
+/**
+ * This function also save new boooleans to solver->allbooleans
+ * @param solver
+ * @param op
+ * @param array
+ * @param asize
+ * @return
+ */
+Boolean * allocBooleanLogicArray(CSolver *solver, LogicOp op, Boolean ** array, uint asize);
void deleteBoolean(Boolean * This);
#endif