mirror of
https://github.com/Z3Prover/z3
synced 2025-04-22 16:45:31 +00:00
resolve
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
ef6339f14c
commit
a07c6e4793
3 changed files with 16 additions and 11 deletions
|
@ -8251,14 +8251,10 @@ def parse_smt2_string(s, sorts={}, decls={}, ctx=None):
|
|||
ctx = _get_ctx(ctx)
|
||||
ssz, snames, ssorts = _dict2sarray(sorts, ctx)
|
||||
dsz, dnames, ddecls = _dict2darray(decls, ctx)
|
||||
<<<<<<< HEAD
|
||||
return AstVector(Z3_parse_smtlib2_string(ctx.ref(), s, ssz, snames, ssorts, dsz, dnames, ddecls), ctx)
|
||||
=======
|
||||
try:
|
||||
return _to_expr_ref(Z3_parse_smtlib2_string(ctx.ref(), s, ssz, snames, ssorts, dsz, dnames, ddecls), ctx)
|
||||
return AstVector(Z3_parse_smtlib2_string(ctx.ref(), s, ssz, snames, ssorts, dsz, dnames, ddecls), ctx)
|
||||
except Z3Exception as e:
|
||||
_handle_parse_error(e, ctx)
|
||||
>>>>>>> fc719a5ee82361ffedb9ef46793e3401fdc32cc5
|
||||
|
||||
def parse_smt2_file(f, sorts={}, decls={}, ctx=None):
|
||||
"""Parse a file in SMT 2.0 format using the given sorts and decls.
|
||||
|
@ -8268,14 +8264,10 @@ def parse_smt2_file(f, sorts={}, decls={}, ctx=None):
|
|||
ctx = _get_ctx(ctx)
|
||||
ssz, snames, ssorts = _dict2sarray(sorts, ctx)
|
||||
dsz, dnames, ddecls = _dict2darray(decls, ctx)
|
||||
<<<<<<< HEAD
|
||||
return AstVector(Z3_parse_smtlib2_file(ctx.ref(), f, ssz, snames, ssorts, dsz, dnames, ddecls), ctx)
|
||||
=======
|
||||
try:
|
||||
return _to_expr_ref(Z3_parse_smtlib2_file(ctx.ref(), f, ssz, snames, ssorts, dsz, dnames, ddecls), ctx)
|
||||
try:
|
||||
return AstVector(Z3_parse_smtlib2_file(ctx.ref(), f, ssz, snames, ssorts, dsz, dnames, ddecls), ctx)
|
||||
except Z3Exception as e:
|
||||
_handle_parse_error(e, ctx)
|
||||
>>>>>>> fc719a5ee82361ffedb9ef46793e3401fdc32cc5
|
||||
|
||||
def Interpolant(a,ctx=None):
|
||||
"""Create an interpolation operator.
|
||||
|
|
|
@ -515,6 +515,13 @@ public:
|
|||
reset_denominator(c);
|
||||
}
|
||||
|
||||
void machine_idiv_rem(mpq const & a, mpq const & b, mpq & c, mpq & d) {
|
||||
SASSERT(is_int(a) && is_int(b));
|
||||
machine_div_rem(a.m_num, b.m_num, c.m_num, d.m_num);
|
||||
reset_denominator(c);
|
||||
reset_denominator(d);
|
||||
}
|
||||
|
||||
void machine_idiv(mpq const & a, mpq const & b, mpz & c) {
|
||||
SASSERT(is_int(a) && is_int(b));
|
||||
machine_div(a.m_num, b.m_num, c);
|
||||
|
|
|
@ -189,6 +189,12 @@ public:
|
|||
return r;
|
||||
}
|
||||
|
||||
friend inline rational machine_div_rem(rational const & r1, rational const & r2, rational & rem) {
|
||||
rational r;
|
||||
rational::m().machine_idiv(r1.m_val, r2.m_val, r.m_val, rem.m_val);
|
||||
return r;
|
||||
}
|
||||
|
||||
friend inline rational mod(rational const & r1, rational const & r2) {
|
||||
rational r;
|
||||
rational::m().mod(r1.m_val, r2.m_val, r.m_val);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue