return constraintNegate(constraintITE(cnf, e0edges[1], e0edges[0], e1edges[0]));
}
}
-
+
return createNode(cnf, NodeType_AND, lowindex, edges);
}
n->intAnnot[polarity]=1;
for (uint i=0;i<n->numEdges;i++) {
Edge succ=n->edges[i];
- succ=constraintNegateIf(succ, polarity);
if(!edgeIsVarConst(succ)) {
+ succ=constraintNegateIf(succ, polarity);
pushVectorEdge(stack, succ);
}
}
if (exp->litSize == 1) {
Literal l = getLiteralLitVector(&exp->singletons, 0);
deleteCNFExpr(exp);
- n->ptrAnnot[sign] = (void*) ((intptr_t) (l << 1) | 1);
+ n->ptrAnnot[sign] = (void*) ((((intptr_t) l) << 1) | 1);
} else if (exp->litSize != 0 && (n->intAnnot[sign] > 1 || n->flags.varForced)) {
introProxy(cnf, e, exp, sign);
} else {
for(uint i=0;i<getSizeLitVector(&expr->singletons);i++) {
Literal l=getLiteralLitVector(&expr->singletons,i);
Literal clause[] = {-lcond, l};
- addArrayClauseLiteral(cnf->solver, 1, clause);
+ addArrayClauseLiteral(cnf->solver, 2, clause);
}
for(uint i=0;i<getSizeVectorLitVector(&expr->clauses);i++) {
LitVector *lv=getVectorLitVector(&expr->clauses,i);
Node *n=getNodePtrFromEdge(e);
int i = n->numEdges;
while (i != 0) {
- Edge arg = n->edges[--i]; arg=constraintNegateIf(arg, isNeg);
+ Edge arg = n->edges[--i];
+ arg=constraintNegateIf(arg, isNeg);
Node * narg = getNodePtrFromEdge(arg);
if (edgeIsVarConst(arg)) {
Edge largestEdge;
CNFExpr* accum = fillArgs(cnf, e, false, &largestEdge);
- if (accum == NULL) accum = allocCNFExprBool(true);
+ if (accum == NULL)
+ accum = allocCNFExprBool(true);
int i = getSizeVectorEdge(&cnf->args);
while (i != 0) {
conjoinCNFLit(accum, getProxy(argExp));
} else {
conjoinCNFExpr(accum, argExp, destroy);
- if (destroy) narg->ptrAnnot[isNegEdge(arg)] = NULL;
+ if (destroy)
+ narg->ptrAnnot[isNegEdge(arg)] = NULL;
}
}
}