Element *elem = constraint->inputs.get(i);
encodeElementSATEncoder(elem);
}
- VectorEdge *clauses = allocDefVectorEdge(); // Setup array of clauses
+ VectorEdge *clauses = vector;
uint indices[numDomains]; //setup indices
bzero(indices, sizeof(uint) * numDomains);
}
Edge term = constraintAND(cnf, numDomains, carray);
pushVectorEdge(clauses, term);
+ ASSERT(getSizeVectorEdge(clauses) > 0);
}
notfinished = false;
}
}
if (getSizeVectorEdge(clauses) == 0) {
- deleteVectorEdge(clauses);
return E_False;
}
Edge cor = constraintOR(cnf, getSizeVectorEdge(clauses), exposeArrayEdge(clauses));
- deleteVectorEdge(clauses);
+ clearVectorEdge(clauses);
return generateNegation ? constraintNegate(cor) : cor;
}