for(uint i=0;i<size;i++) {
deleteBoolean(getVectorBoolean(This->allBooleans, i));
}
-
deleteVectorBoolean(This->allBooleans);
size=getSizeVectorSet(This->allSets);
for(uint i=0;i<size;i++) {
deleteSet(getVectorSet(This->allSets, i));
}
-
deleteVectorSet(This->allSets);
size=getSizeVectorElement(This->allElements);
for(uint i=0;i<size;i++) {
deleteElement(getVectorElement(This->allElements, i));
}
+ deleteVectorElement(This->allElements);
+
size=getSizeVectorTable(This->allTables);
for(uint i=0;i<size;i++) {
deleteTable(getVectorTable(This->allTables, i));
}
+ deleteVectorTable(This->allTables);
+
size=getSizeVectorPredicate(This->allPredicates);
for(uint i=0;i<size;i++) {
deletePredicate(getVectorPredicate(This->allPredicates, i));
}
+ deleteVectorPredicate(This->allPredicates);
+
size=getSizeVectorOrder(This->allOrders);
for(uint i=0;i<size;i++) {
deleteOrder(getVectorOrder(This->allOrders, i));
}
deleteVectorOrder(This->allOrders);
+
size=getSizeVectorFunction(This->allFunctions);
for(uint i=0;i<size;i++) {
deleteFunction(getVectorFunction(This->allFunctions, i));
}
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) {