}
Element * applyFunction(CSolver *solver, Function * function, Element ** array, uint numArrays, Boolean * overflowstatus) {
- return NULL;
+ Element* element= allocElementFunction(function,array,numArrays,overflowstatus);
+ pushVectorElement(solver->allElements, element);
+ return element;
}
Boolean * applyPredicate(CSolver *solver, Predicate * predicate, Element ** inputs, uint numInputs) {
- return NULL;
+ Boolean* boolean= allocBooleanPredicate(predicate, inputs, numInputs);
+ pushVectorBoolean(solver->allBooleans, boolean);
+ return boolean;
}
-Boolean * applyLogicalOperation(CSolver *solver, LogicOp op, Boolean ** array) {
- return NULL;
+Boolean * applyLogicalOperation(CSolver *solver, LogicOp op, Boolean ** array, uint asize) {
+ return allocBooleanLogicArray(solver, op, array, asize);
}
void addBoolean(CSolver *This, Boolean * constraint) {