summaryrefslogtreecommitdiff
path: root/src/theory/bv/bv_inequality_graph.cpp
diff options
context:
space:
mode:
authorlianah <lianahady@gmail.com>2013-03-26 22:14:24 -0400
committerlianah <lianahady@gmail.com>2013-03-26 22:14:24 -0400
commit2bed73156740d7e93e303b02319c407a1d587109 (patch)
tree99876e3263f20b0c507caac27c147a991fc759dd /src/theory/bv/bv_inequality_graph.cpp
parent33a5c0897bdbfb8367dfa90342471615908df1bc (diff)
parent70d1a0171840cd62b5c1d89b875ffb50da216793 (diff)
added model generation for bv subtheories and bv-inequality solver option
Diffstat (limited to 'src/theory/bv/bv_inequality_graph.cpp')
-rw-r--r--src/theory/bv/bv_inequality_graph.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/theory/bv/bv_inequality_graph.cpp b/src/theory/bv/bv_inequality_graph.cpp
index 3dfeba140..6d2ed0cf6 100644
--- a/src/theory/bv/bv_inequality_graph.cpp
+++ b/src/theory/bv/bv_inequality_graph.cpp
@@ -458,3 +458,15 @@ BitVector InequalityGraph::getValueInModel(TNode node) const {
Assert (hasModelValue(id));
return getValue(id);
}
+
+void InequalityGraph::getAllValuesInModel(std::vector<Node>& assignments) {
+ for (ModelValues::const_iterator it = d_modelValues.begin(); it != d_modelValues.end(); ++it) {
+ TermId id = (*it).first;
+ BitVector value = (*it).second.value;
+ TNode var = getTermNode(id);
+ Node constant = utils::mkConst(value);
+ Node assignment = utils::mkNode(kind::EQUAL, var, constant);
+ assignments.push_back(assignment);
+ Debug("bitvector-model") << " " << var <<" => " << constant << "\n";
+ }
+}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback