ezSAT: Added frozen_literal() API
authorClifford Wolf <clifford@clifford.at>
Mon, 3 Mar 2014 01:13:17 +0000 (02:13 +0100)
committerClifford Wolf <clifford@clifford.at>
Mon, 3 Mar 2014 01:13:17 +0000 (02:13 +0100)
libs/ezsat/ezsat.cc
libs/ezsat/ezsat.h

index bbebee74f6f3619ebeef2d96f5f05556ba2eb78e..fb3d249967dce70bfcfa8c71bf5d6e2bbca3787b 100644 (file)
@@ -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);
index 13b39d4ef81184bcc7e60a6e55d76baa408112d0..b0b731d0a605e86a48497e2b856d553a38dfc102 100644 (file)
@@ -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);