mirror of
https://github.com/Z3Prover/z3
synced 2025-04-22 16:45:31 +00:00
Merge branch 'master' of https://github.com/z3prover/z3
This commit is contained in:
commit
49b7e9084f
4 changed files with 21 additions and 14 deletions
|
@ -927,10 +927,10 @@ end
|
|||
module FiniteDomain :
|
||||
sig
|
||||
(** Create a new finite domain sort. *)
|
||||
val mk_sort : context -> Symbol.symbol -> int -> Sort.sort
|
||||
val mk_sort : context -> Symbol.symbol -> int64 -> Sort.sort
|
||||
|
||||
(** Create a new finite domain sort. *)
|
||||
val mk_sort_s : context -> string -> int -> Sort.sort
|
||||
val mk_sort_s : context -> string -> int64 -> Sort.sort
|
||||
|
||||
(** Indicates whether the term is of an array sort. *)
|
||||
val is_finite_domain : Expr.expr -> bool
|
||||
|
@ -939,7 +939,7 @@ sig
|
|||
val is_lt : Expr.expr -> bool
|
||||
|
||||
(** The size of the finite domain sort. *)
|
||||
val get_size : Sort.sort -> int
|
||||
val get_size : Sort.sort -> int64
|
||||
end
|
||||
|
||||
|
||||
|
@ -2078,7 +2078,7 @@ sig
|
|||
val mk_numeral_i : context -> int -> Sort.sort -> Expr.expr
|
||||
|
||||
(** Create a numeral of FloatingPoint sort from a sign bit and two integers. *)
|
||||
val mk_numeral_i_u : context -> bool -> int -> int -> Sort.sort -> Expr.expr
|
||||
val mk_numeral_i_u : context -> bool -> int64 -> int64 -> Sort.sort -> Expr.expr
|
||||
|
||||
(** Create a numeral of FloatingPoint sort from a string *)
|
||||
val mk_numeral_s : context -> string -> Sort.sort -> Expr.expr
|
||||
|
@ -2303,7 +2303,7 @@ sig
|
|||
val get_numeral_exponent_string : context -> Expr.expr -> bool -> string
|
||||
|
||||
(** Return the exponent value of a floating-point numeral as a signed integer *)
|
||||
val get_numeral_exponent_int : context -> Expr.expr -> bool -> bool * int
|
||||
val get_numeral_exponent_int : context -> Expr.expr -> bool -> bool * int64
|
||||
|
||||
(** Return the exponent of a floating-point numeral as a bit-vector expression.
|
||||
Remark: NaN's do not have a bit-vector exponent, so they are invalid arguments. *)
|
||||
|
@ -2320,7 +2320,7 @@ sig
|
|||
Remark: This function extracts the significand bits, without the
|
||||
hidden bit or normalization. Throws an exception if the
|
||||
significand does not fit into an int. *)
|
||||
val get_numeral_significand_uint : context -> Expr.expr -> bool * int
|
||||
val get_numeral_significand_uint : context -> Expr.expr -> bool * int64
|
||||
|
||||
(** Indicates whether a floating-point numeral is a NaN. *)
|
||||
val is_numeral_nan : context -> Expr.expr -> bool
|
||||
|
|
|
@ -1429,7 +1429,10 @@ namespace smt {
|
|||
inc_ref(l2);
|
||||
m_watches[(~l1).index()].insert_literal(l2);
|
||||
m_watches[(~l2).index()].insert_literal(l1);
|
||||
if (get_assignment(l2) == l_false) {
|
||||
if (get_assignment(l1) == l_false) {
|
||||
assign(l2, b_justification(~l1));
|
||||
}
|
||||
else if (get_assignment(l2) == l_false) {
|
||||
assign(l1, b_justification(~l2));
|
||||
}
|
||||
m_clause_proof.add(l1, l2, k, j);
|
||||
|
|
|
@ -113,9 +113,9 @@ class parallel_tactic : public tactic {
|
|||
|
||||
void shutdown() {
|
||||
if (!m_shutdown) {
|
||||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
m_shutdown = true;
|
||||
m_cond.notify_all();
|
||||
std::lock_guard<std::mutex> lock(m_mutex);
|
||||
for (solver_state* st : m_active) {
|
||||
st->m().limit().cancel();
|
||||
}
|
||||
|
@ -147,7 +147,9 @@ class parallel_tactic : public tactic {
|
|||
}
|
||||
{
|
||||
std::unique_lock<std::mutex> lock(m_mutex);
|
||||
m_cond.wait(lock);
|
||||
if (!m_shutdown) {
|
||||
m_cond.wait(lock);
|
||||
}
|
||||
}
|
||||
dec_wait();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue