summaryrefslogtreecommitdiff
path: root/src/theory/evaluator.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2019-12-16 15:02:28 -0600
committerAndres Noetzli <andres.noetzli@gmail.com>2019-12-16 13:02:28 -0800
commite1074c87769d079936b52a8e8ea33cc03f8b4638 (patch)
tree4b962b255603e66ebca84e2607cb1def1b800326 /src/theory/evaluator.h
parent0db2265511cf553c793cfb150079c524bb1e6449 (diff)
Use the evaluator utility in the function definition evaluator (#3576)
Improves performance on ground conjectures with recursive functions. We use the evalutator to (partially) evaluate bodies of recursive functions, instead of relying on substitution+rewriting.
Diffstat (limited to 'src/theory/evaluator.h')
-rw-r--r--src/theory/evaluator.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/theory/evaluator.h b/src/theory/evaluator.h
index 94e6fc518..533a03657 100644
--- a/src/theory/evaluator.h
+++ b/src/theory/evaluator.h
@@ -94,7 +94,7 @@ class Evaluator
*/
Node eval(TNode n,
const std::vector<Node>& args,
- const std::vector<Node>& vals);
+ const std::vector<Node>& vals) const;
private:
/**
@@ -117,7 +117,7 @@ class Evaluator
TNode n,
const std::vector<Node>& args,
const std::vector<Node>& vals,
- std::unordered_map<TNode, Node, NodeHashFunction>& evalAsNode);
+ std::unordered_map<TNode, Node, NodeHashFunction>& evalAsNode) const;
/** reconstruct
*
* This function reconstructs the result of evaluating n using a combination
@@ -130,7 +130,7 @@ class Evaluator
Node reconstruct(
TNode n,
std::unordered_map<TNode, EvalResult, TNodeHashFunction>& eresults,
- std::unordered_map<TNode, Node, NodeHashFunction>& evalAsNode);
+ std::unordered_map<TNode, Node, NodeHashFunction>& evalAsNode) const;
};
} // namespace theory
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback