summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-03-03 02:13:17 +0100
committerClifford Wolf <clifford@clifford.at>2014-03-03 02:13:17 +0100
commitd5bd93997c9ce7c31ef430684700a2096618672e (patch)
treea2f62a10775c5d4e19b99cfeafb187ba200c0290
parent895e9fc70cb2d45c606c64a7b12d51dc0564c005 (diff)
ezSAT: Added frozen_literal() API
-rw-r--r--libs/ezsat/ezsat.cc14
-rw-r--r--libs/ezsat/ezsat.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/libs/ezsat/ezsat.cc b/libs/ezsat/ezsat.cc
index bbebee74..fb3d2499 100644
--- a/libs/ezsat/ezsat.cc
+++ b/libs/ezsat/ezsat.cc
@@ -67,6 +67,20 @@ int ezSAT::literal(const std::string &name)
return literalsCache.at(name);
}
+int ezSAT::frozen_literal()
+{
+ int id = literal();
+ freeze(id);
+ return id;
+}
+
+int ezSAT::frozen_literal(const std::string &name)
+{
+ int id = literal(name);
+ freeze(id);
+ return id;
+}
+
int ezSAT::expression(OpId op, int a, int b, int c, int d, int e, int f)
{
std::vector<int> args(6);
diff --git a/libs/ezsat/ezsat.h b/libs/ezsat/ezsat.h
index 13b39d4e..b0b731d0 100644
--- a/libs/ezsat/ezsat.h
+++ b/libs/ezsat/ezsat.h
@@ -79,6 +79,8 @@ public:
int value(bool val);
int literal();
int literal(const std::string &name);
+ int frozen_literal();
+ int frozen_literal(const std::string &name);
int expression(OpId op, int a = 0, int b = 0, int c = 0, int d = 0, int e = 0, int f = 0);
int expression(OpId op, const std::vector<int> &args);