3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-25 04:26:00 +00:00

merge with 4.7.1

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2018-05-22 17:10:36 -07:00
commit 50c93d1ad4
25 changed files with 182 additions and 103 deletions

View file

@ -84,7 +84,6 @@ struct lar_term_constraint: public lar_base_constraint {
class lar_constraint : public lar_base_constraint {
public:
vector<std::pair<mpq, var_index>> m_coeffs;
lar_constraint() {}
lar_constraint(const vector<std::pair<mpq, var_index>> & left_side, lconstraint_kind kind, const mpq & right_side)
: lar_base_constraint(kind, right_side), m_coeffs(left_side) {}

View file

@ -132,7 +132,7 @@ class permutation_matrix : public tail_matrix<T, X> {
unsigned size() const { return static_cast<unsigned>(m_rev.size()); }
unsigned * values() const { return m_permutation; }
unsigned * values() const { return m_permutation.c_ptr(); }
void resize(unsigned size) {
unsigned old_size = m_permutation.size();

View file

@ -34,6 +34,16 @@ bool is_smt2_quoted_symbol(char const * s) {
if ('0' <= s[0] && s[0] <= '9')
return true;
unsigned len = static_cast<unsigned>(strlen(s));
if (len >= 2 && s[0] == '|' && s[len-1] == '|') {
for (unsigned i = 1; i + 1 < len; i++) {
if (s[i] == '\\' && i + 2 < len && (s[i+1] == '\\' || s[i+1] == '|')) {
i++;
}
else if (s[i] == '\\' || s[i] == '|')
return true;
}
return false;
}
for (unsigned i = 0; i < len; i++)
if (!is_smt2_simple_symbol_char(s[i]))
return true;