resolving conflict ...
authorHamed <hamed.gorjiara@gmail.com>
Thu, 13 Jul 2017 23:44:48 +0000 (16:44 -0700)
committerHamed <hamed.gorjiara@gmail.com>
Thu, 13 Jul 2017 23:44:48 +0000 (16:44 -0700)
1  2 
src/Backend/constraint.c

index b1ec593b7a6ac937e821d920c07f9b92cab65875,4859a936cf5633ac7f1c799d0edc09e4dda324ac..72c74c7a96de74bb8d6699cc9e9396f712110175
@@@ -712,20 -711,34 +712,34 @@@ void printCNF(Edge e) 
                return;
        }
        Node *n=getNodePtrFromEdge(e);
-       if (isNeg)
+       if (isNeg) {
+               //Pretty print things that are equivalent to OR's
+               if (getNodeType(e)==NodeType_AND) {
 -                      printf("or(");
++                      model_print("or(");
+                       for(uint i=0;i<n->numEdges;i++) {
+                               Edge e=n->edges[i];
+                               if (i!=0)
 -                                      printf(" ");
++                                      model_print(" ");
+                               printCNF(constraintNegate(e));
+                       }
 -                      printf(")");
++                      model_print(")");
+                       return;
+               }
 -              printf("!");
 +              model_print("!");
+       }
        switch(getNodeType(e)) {
        case NodeType_AND:
 -              printf("and");
 +              model_print("and");
                break;
        case NodeType_ITE:
 -              printf("ite");
 +              model_print("ite");
                break;
        case NodeType_IFF:
 -              printf("iff");
 +              model_print("iff");
                break;
        }
 -      printf("(");
 +      model_print("(");
        for(uint i=0;i<n->numEdges;i++) {
                Edge e=n->edges[i];
                if (i!=0)