Small edit
[satune.git] / src / ASTAnalyses / polarityassignment.cc
index 3e4f4abd81630ac71ee086adf547bcafbaeedb6d..14789304b49a797d74a14e4da5af02b6008dcd76 100644 (file)
@@ -2,8 +2,8 @@
 #include "csolver.h"
 
 void computePolarities(CSolver *This) {
-       HSIteratorBoolean *iterator=This->constraints.iterator();
-       while(iterator->hasNext()) {
+       SetIteratorBoolean *iterator = This->getConstraints();
+       while (iterator->hasNext()) {
                Boolean *boolean = iterator->next();
                updatePolarity(boolean, P_TRUE);
                updateMustValue(boolean, BV_MUSTBETRUE);
@@ -21,7 +21,7 @@ void updateMustValue(Boolean *This, BooleanValue value) {
 }
 
 void computePolarityAndBooleanValue(Boolean *This) {
-       switch (GETBOOLEANTYPE(This)) {
+       switch (This->type) {
        case BOOLEANVAR:
        case ORDERCONST:
                return;
@@ -79,10 +79,10 @@ BooleanValue negateBooleanValue(BooleanValue This) {
 }
 
 void computeLogicOpPolarity(BooleanLogic *This) {
-       Polarity parentpolarity = GETBOOLEANPOLARITY(This);
+       Polarity parentpolarity = This->polarity;
        switch (This->op) {
-       case L_AND:
-       case L_OR: {
+       case SATC_AND:
+       case SATC_OR: {
                uint size = This->inputs.getSize();
                for (uint i = 0; i < size; i++) {
                        Boolean *tmp = This->inputs.get(i);
@@ -90,17 +90,18 @@ void computeLogicOpPolarity(BooleanLogic *This) {
                }
                break;
        }
-       case L_NOT: {
+       case SATC_NOT: {
                Boolean *tmp = This->inputs.get(0);
                updatePolarity(tmp, negatePolarity(parentpolarity));
                break;
        }
-       case L_XOR: {
+       case SATC_IFF:
+       case SATC_XOR: {
                updatePolarity(This->inputs.get(0), P_BOTHTRUEFALSE);
                updatePolarity(This->inputs.get(1), P_BOTHTRUEFALSE);
                break;
        }
-       case L_IMPLIES: {
+       case SATC_IMPLIES: {
                Boolean *left = This->inputs.get(0);
                updatePolarity(left, negatePolarity( parentpolarity));
                Boolean *right = This->inputs.get(1);
@@ -113,9 +114,9 @@ void computeLogicOpPolarity(BooleanLogic *This) {
 }
 
 void computeLogicOpBooleanValue(BooleanLogic *This) {
-       BooleanValue parentbv = GETBOOLEANVALUE(This);
+       BooleanValue parentbv = This->boolVal;
        switch (This->op) {
-       case L_AND: {
+       case SATC_AND: {
                if (parentbv == BV_MUSTBETRUE || parentbv == BV_UNSAT) {
                        uint size = This->inputs.getSize();
                        for (uint i = 0; i < size; i++) {
@@ -124,7 +125,7 @@ void computeLogicOpBooleanValue(BooleanLogic *This) {
                }
                return;
        }
-       case L_OR: {
+       case SATC_OR: {
                if (parentbv == BV_MUSTBEFALSE || parentbv == BV_UNSAT) {
                        uint size = This->inputs.getSize();
                        for (uint i = 0; i < size; i++) {
@@ -133,10 +134,10 @@ void computeLogicOpBooleanValue(BooleanLogic *This) {
                }
                return;
        }
-       case L_NOT:
+       case SATC_NOT:
                updateMustValue(This->inputs.get(0), negateBooleanValue(parentbv));
                return;
-       case L_IMPLIES:
+       case SATC_IMPLIES:
                //implies is really an or with the first term negated
                if (parentbv == BV_MUSTBEFALSE || parentbv == BV_UNSAT) {
                        uint size = This->inputs.getSize();
@@ -144,7 +145,8 @@ void computeLogicOpBooleanValue(BooleanLogic *This) {
                        updateMustValue(This->inputs.get(1), parentbv);
                }
                return;
-       case L_XOR:
+       case SATC_IFF:
+       case SATC_XOR:
                return;
        default:
                ASSERT(0);