diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2019-09-19 09:44:04 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-19 09:44:04 -0500 |
commit | 7988675ce9666b6f2214b583d42b9fa8be52ae60 (patch) | |
tree | 12cda1e352a6d80819f00d131f969d7728bf28ec /src/theory/strings | |
parent | cfe4f59c0a10d49a35b9f59bb2fd6ab7d224e53d (diff) |
Support context-(in)dependent decision strategies. (#3281)
Diffstat (limited to 'src/theory/strings')
-rw-r--r-- | src/theory/strings/theory_strings.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/theory/strings/theory_strings.cpp b/src/theory/strings/theory_strings.cpp index 65f06c008..0f9a78516 100644 --- a/src/theory/strings/theory_strings.cpp +++ b/src/theory/strings/theory_strings.cpp @@ -570,8 +570,12 @@ void TheoryStrings::presolve() { inputVars.push_back(*itr); } d_sslds->initialize(inputVars); + // This strategy is local to a check-sat call, since we refresh the strategy + // on every call to presolve. getDecisionManager()->registerStrategy( - DecisionManager::STRAT_STRINGS_SUM_LENGTHS, d_sslds.get()); + DecisionManager::STRAT_STRINGS_SUM_LENGTHS, + d_sslds.get(), + DecisionManager::STRAT_SCOPE_LOCAL_SOLVE); } } |