diff options
author | lianah <lianahady@gmail.com> | 2013-03-26 22:14:24 -0400 |
---|---|---|
committer | lianah <lianahady@gmail.com> | 2013-03-26 22:14:24 -0400 |
commit | 2bed73156740d7e93e303b02319c407a1d587109 (patch) | |
tree | 99876e3263f20b0c507caac27c147a991fc759dd /src/theory/bv/bv_inequality_graph.cpp | |
parent | 33a5c0897bdbfb8367dfa90342471615908df1bc (diff) | |
parent | 70d1a0171840cd62b5c1d89b875ffb50da216793 (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.cpp | 12 |
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"; + } +} |