void display_smt2(std::ostream & out, char const* module, param_descrs& descrs) const { svector<params::entry>::const_iterator it = m_entries.begin(); svector<params::entry>::const_iterator end = m_entries.end(); for (; it != end; ++it) { if (!descrs.contains(it->first)) continue; out << "(set-option :"; out << module << "."; out << it->first; switch (it->second.m_kind) { case CPK_BOOL: out << " " << (it->second.m_bool_value?"true":"false"); break; case CPK_UINT: out << " " <<it->second.m_uint_value; break; case CPK_DOUBLE: out << " " << it->second.m_double_value; break; case CPK_NUMERAL: out << " " << *(it->second.m_rat_value); break; case CPK_SYMBOL: out << " " << symbol::mk_symbol_from_c_ptr(it->second.m_sym_value); break; case CPK_STRING: out << " " << it->second.m_str_value; break; default: UNREACHABLE(); break; } out << ")\n"; } }
std::string get_default(param_descrs const & d, symbol const & p, symbol const & m) { if (!d.contains(p)) { throw_unknown_parameter(p, d, m); } char const * r = d.get_default(p); if (r == nullptr) return "default"; return r; }