/*++ Module Name: theory_str_params.cpp Abstract: Parameters for string theory plugin Author: Murphy Berzish (mtrberzi) 2016-12-13 Revision History: --*/ #include "smt/params/theory_str_params.h" #include "smt/params/smt_params_helper.hpp" void theory_str_params::updt_params(params_ref const & _p) { smt_params_helper p(_p); m_StrongArrangements = p.str_strong_arrangements(); m_AggressiveLengthTesting = p.str_aggressive_length_testing(); m_AggressiveValueTesting = p.str_aggressive_value_testing(); m_AggressiveUnrollTesting = p.str_aggressive_unroll_testing(); m_UseFastLengthTesterCache = p.str_fast_length_tester_cache(); m_UseFastValueTesterCache = p.str_fast_value_tester_cache(); m_StringConstantCache = p.str_string_constant_cache(); m_OverlapTheoryAwarePriority = p.str_overlap_priority(); m_RegexAutomata_DifficultyThreshold = p.str_regex_automata_difficulty_threshold(); m_RegexAutomata_IntersectionDifficultyThreshold = p.str_regex_automata_intersection_difficulty_threshold(); m_RegexAutomata_FailedAutomatonThreshold = p.str_regex_automata_failed_automaton_threshold(); m_RegexAutomata_FailedIntersectionThreshold = p.str_regex_automata_failed_intersection_threshold(); m_RegexAutomata_LengthAttemptThreshold = p.str_regex_automata_length_attempt_threshold(); m_FixedLengthRefinement = p.str_fixed_length_refinement(); m_FixedLengthNaiveCounterexamples = p.str_fixed_length_naive_cex(); } #define DISPLAY_PARAM(X) out << #X"=" << X << std::endl; void theory_str_params::display(std::ostream & out) const { DISPLAY_PARAM(m_StrongArrangements); DISPLAY_PARAM(m_AggressiveLengthTesting); DISPLAY_PARAM(m_AggressiveValueTesting); DISPLAY_PARAM(m_AggressiveUnrollTesting); DISPLAY_PARAM(m_UseFastLengthTesterCache); DISPLAY_PARAM(m_UseFastValueTesterCache); DISPLAY_PARAM(m_StringConstantCache); DISPLAY_PARAM(m_OverlapTheoryAwarePriority); DISPLAY_PARAM(m_RegexAutomata_DifficultyThreshold); DISPLAY_PARAM(m_RegexAutomata_IntersectionDifficultyThreshold); DISPLAY_PARAM(m_RegexAutomata_FailedAutomatonThreshold); DISPLAY_PARAM(m_RegexAutomata_FailedIntersectionThreshold); DISPLAY_PARAM(m_RegexAutomata_LengthAttemptThreshold); DISPLAY_PARAM(m_FixedLengthNaiveCounterexamples); }