8 #include "functionencoding.h"
9 #include "constraint.h"
12 This is a little sketchy, but apparently legit.
13 https://www.python.org/dev/peps/pep-3123/ */
15 #define GETBOOLEANTYPE(o) GETASTNODETYPE(o)
16 #define GETBOOLEANPARENTS(o) (&((Boolean *)(o))->parents)
20 VectorBoolean parents;
42 struct BooleanPredicate {
44 Predicate * predicate;
45 FunctionEncoding encoding;
49 Boolean * allocBoolean(VarType t);
50 Boolean * allocBooleanOrder(Order * order, uint64_t first, uint64_t second);
51 Boolean * allocBooleanPredicate(Predicate * predicate, Element ** inputs, uint numInputs);
52 Boolean * allocBooleanLogicArray(CSolver *solver, LogicOp op, Boolean ** array, uint asize);
53 void deleteBoolean(Boolean * This);
55 static inline FunctionEncoding* getPredicateFunctionEncoding(BooleanPredicate* func){
56 return &func->encoding;