summaryrefslogtreecommitdiff
path: root/src/theory/strings/inference_manager.cpp
diff options
context:
space:
mode:
authorAndres Noetzli <andres.noetzli@gmail.com>2020-04-06 13:56:35 -0700
committerGitHub <noreply@github.com>2020-04-06 15:56:35 -0500
commit49c5a2aef84d1c17b4401eae9c60a92190b0b5a7 (patch)
tree80815221de855ede0c613c3a2517763bf37dc2b5 /src/theory/strings/inference_manager.cpp
parent9be8854786a6d27dfde21525e810a3b2f15e9d21 (diff)
Refactor disequality processing in string solver (#4209)
This commit refactors disequality processing in the core string solver. It also adds statistics for the inferences and splits in those methods. No semantic changes intended.
Diffstat (limited to 'src/theory/strings/inference_manager.cpp')
-rw-r--r--src/theory/strings/inference_manager.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/theory/strings/inference_manager.cpp b/src/theory/strings/inference_manager.cpp
index 772444f90..94051a2bb 100644
--- a/src/theory/strings/inference_manager.cpp
+++ b/src/theory/strings/inference_manager.cpp
@@ -207,9 +207,7 @@ void InferenceManager::sendInference(const std::vector<Node>& exp,
bool asLemma)
{
d_statistics.d_inferences << infer;
- std::stringstream ss;
- ss << infer;
- sendInference(exp, eq, ss.str().c_str(), asLemma);
+ sendInference(exp, eq, toString(infer), asLemma);
}
void InferenceManager::sendInference(const InferInfo& i)
@@ -309,6 +307,12 @@ bool InferenceManager::sendSplit(Node a, Node b, const char* c, bool preq)
return true;
}
+bool InferenceManager::sendSplit(Node a, Node b, Inference infer, bool preq)
+{
+ d_statistics.d_inferences << infer;
+ return sendSplit(a, b, toString(infer), preq);
+}
+
void InferenceManager::sendPhaseRequirement(Node lit, bool pol)
{
lit = Rewriter::rewrite(lit);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback