#CFLAGS_M32 = -m32
CFLAGS_BASE = $(OPTIMIZE)
-# OPTION to compile CRYPTOMiniSAT
-# CRYPTOMINISAT = true
-# CFLAGS_BASE = $(OPTIMIZE) -DCRYPTOMINISAT
-# MTL = ../sat/cryptominisat/mtl
-# SOLVER_INCLUDE = ../sat/cryptominisat
-
# OPTION to compile CRYPTOMiniSAT version 2.x
-#CRYPTOMINISAT2 = true
-#CFLAGS_BASE = $(OPTIMIZE) -DCRYPTOMINISAT2
-#MTL = ../sat/cryptominisat2/mtl
-#SOLVER_INCLUDE = ../sat/cryptominisat2
+# CRYPTOMINISAT2 = true
+# CFLAGS_BASE = $(OPTIMIZE) -DCRYPTOMINISAT2
+# MTL = ../sat/cryptominisat2/mtl
+# SOLVER_INCLUDE = ../sat/cryptominisat2
# OPTION to compile MiniSAT
CORE = true
MTL = ../sat/mtl
SOLVER_INCLUDE = ../sat/core
-
# OPTION to compile UNSOUND MiniSAT
#UNSOUND = true
#CFLAGS_BASE = $(OPTIMIZE) -DUNSOUND
#MTL = ../sat/mtl
#SOLVER_INCLUDE = ../sat/unsound
-
# OPTION to compile Simplifying MiniSAT
# SIMP = true
# CFLAGS_BASE = $(OPTIMIZE) -DSIMP
// worth doing explicitly (e.g., a = b, a = ~b, etc.)
else
{
-// return _bm->CreateSimpForm(OR,
-// _bm->CreateSimpForm(AND, a, b),
-// _bm->CreateSimpForm(AND, b, c),
-// _bm->CreateSimpForm(AND, a, c));
- return
- _bm->CreateSimpForm(AND,
- _bm->CreateSimpForm(OR, a, b),
- //_bm->CreateSimpForm(XOR,a,b)),
- _bm->CreateSimpForm(OR, b, c),
- //_bm->CreateSimpForm(XOR,b,c)),
- _bm->CreateSimpForm(OR, a, c)
- //_bm->CreateSimpForm(XOR,a,c)
- );
+ return _bm->CreateSimpForm(OR,
+ _bm->CreateSimpForm(AND, a, b),
+ _bm->CreateSimpForm(AND, b, c),
+ _bm->CreateSimpForm(AND, a, c));
}
}
const ASTNode& yi,
const ASTNode& cin)
{
- ASTNode S0 = _bm->CreateSimpForm(XOR,
- //_bm->CreateSimpForm(XOR, xi, yi),
- xi,
- yi,
- cin);
+ ASTNode S0;
+
+#ifdef CRYPTOMINISAT2
+ S0 = _bm->CreateSimpForm(XOR, xi, yi, cin);
+#else
+ S0 = _bm->CreateSimpForm(XOR,
+ _bm->CreateSimpForm(XOR, xi, yi),
+ cin);
+#endif
+
return S0;
}
bit_comparisons.push_back(prev_eq_bit);
}
ASTNode output =
+#ifdef CRYPTOMINISAT2
_bm->CreateSimpForm(XOR, bit_comparisons);
-
+#else
+ _bm->CreateSimpForm(OR, bit_comparisons);
+#endif
return output;
}