summaryrefslogtreecommitdiff
path: root/src/theory/ite_simplifier.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/ite_simplifier.cpp')
-rw-r--r--src/theory/ite_simplifier.cpp19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/theory/ite_simplifier.cpp b/src/theory/ite_simplifier.cpp
index 50881af82..7d2b6e333 100644
--- a/src/theory/ite_simplifier.cpp
+++ b/src/theory/ite_simplifier.cpp
@@ -144,19 +144,16 @@ Node ITESimplifier::simpConstants(TNode simpContext, TNode iteNode, TNode simpVa
Node ITESimplifier::getSimpVar(TypeNode t)
{
- if (t.isInteger()) {
- if (d_simpVarInt.isNull()) {
- d_simpVarInt = NodeManager::currentNM()->mkVar(t);
- }
- return d_simpVarInt;
+ std::hash_map<TypeNode, Node, TypeNode::HashFunction>::iterator it;
+ it = d_simpVars.find(t);
+ if (it != d_simpVars.end()) {
+ return (*it).second;
}
- if (t.isReal()) {
- if (d_simpVarReal.isNull()) {
- d_simpVarReal = NodeManager::currentNM()->mkVar(t);
- }
- return d_simpVarReal;
+ else {
+ Node var = NodeManager::currentNM()->mkVar(t);
+ d_simpVars[t] = var;
+ return var;
}
- return Node();
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback