3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00

Add support of the SunOS platform (Solaris, OpenSolaris, OpenIndiana) (#4757)

* Add support of the SunOS plateform (OpenSolaris, OpenIndiana) in scripts/mk_util.py

* Add missing casts for the SunOS plateform (OpenSolaris, OpenIndiana) for the pow function
This commit is contained in:
Pierre Bouvier 2020-10-27 19:39:21 +01:00 committed by GitHub
parent 9e9963d765
commit 24321e311b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 34 additions and 17 deletions

View file

@ -31,7 +31,7 @@
bigger (and only equal for values 0, 1).
*/
static void inverse_cantor(unsigned z, unsigned& x, unsigned& y) {
unsigned w = ((unsigned)sqrt(8*z + 1) - 1)/2;
unsigned w = ((unsigned)sqrt(static_cast<double>(8*z + 1)) - 1)/2;
unsigned t = (unsigned)(w*w + w)/2;
y = z - t;
x = w - y;

View file

@ -553,7 +553,7 @@ namespace sat {
}
}
unsigned len = n->size();
sum += pow(0.5, len) * to_add / len;
sum += pow(0.5, static_cast<double>(len)) * to_add / len;
}
return sum;
}
@ -575,7 +575,7 @@ namespace sat {
unsigned sz = m_nary_count[(~l).index()];
for (nary * n : m_nary[(~l).index()]) {
if (sz-- == 0) break;
sum += pow(0.5, n->size());
sum += pow(0.5, static_cast<double>(n->size()));
}
return sum;
}
@ -1490,14 +1490,14 @@ namespace sat {
to_add += literal_occs(lit);
}
}
m_lookahead_reward += pow(0.5, nonfixed) * to_add / nonfixed;
m_lookahead_reward += pow(0.5, static_cast<double>(nonfixed)) * to_add / nonfixed;
break;
}
case heule_unit_reward:
m_lookahead_reward += pow(0.5, nonfixed);
m_lookahead_reward += pow(0.5, static_cast<double>(nonfixed));
break;
case march_cu_reward:
m_lookahead_reward += nonfixed >= 2 ? 3.3 * pow(0.5, nonfixed - 2) : 0.0;
m_lookahead_reward += nonfixed >= 2 ? 3.3 * pow(0.5, static_cast<double>(nonfixed - 2)) : 0.0;
break;
case ternary_reward:
UNREACHABLE();
@ -1615,14 +1615,14 @@ namespace sat {
to_add += literal_occs(l);
}
}
m_lookahead_reward += pow(0.5, sz) * to_add / sz;
m_lookahead_reward += pow(0.5, static_cast<double>(sz)) * to_add / sz;
break;
}
case heule_unit_reward:
m_lookahead_reward += pow(0.5, sz);
m_lookahead_reward += pow(0.5, static_cast<double>(sz));
break;
case march_cu_reward:
m_lookahead_reward += 3.3 * pow(0.5, sz - 2);
m_lookahead_reward += 3.3 * pow(0.5, static_cast<double>(sz - 2));
break;
case ternary_reward:
m_lookahead_reward = (double)0.001;
@ -2125,7 +2125,7 @@ namespace sat {
}
}
for (nary * n : m_nary_clauses) {
h += 1.0 / pow(m_config.m_cube_psat_clause_base, n->size() - 1);
h += 1.0 / pow(m_config.m_cube_psat_clause_base, static_cast<double>(n->size() - 1));
}
h /= pow(m_freevars.size(), m_config.m_cube_psat_var_exp);
IF_VERBOSE(10, verbose_stream() << "(sat-cube-psat :val " << h << ")\n";);
@ -2189,7 +2189,7 @@ namespace sat {
backtrack_level = UINT_MAX;
depth = m_cube_state.m_cube.size();
if (should_cutoff(depth)) {
double dec = (1.0 - pow(m_config.m_cube_fraction, depth));
double dec = (1.0 - pow(m_config.m_cube_fraction, static_cast<double>(depth)));
m_cube_state.m_freevars_threshold *= dec;
m_cube_state.m_psat_threshold *= 2.0 - dec;
set_conflict();

View file

@ -958,7 +958,7 @@ namespace sat {
if (m_config.m_anti_exploration) {
uint64_t age = m_stats.m_conflict - m_canceled[v];
if (age > 0) {
double decay = pow(0.95, age);
double decay = pow(0.95, static_cast<double>(age));
set_activity(v, static_cast<unsigned>(m_activity[v] * decay));
// NB. MapleSAT does not update canceled.
m_canceled[v] = m_stats.m_conflict;
@ -1640,7 +1640,7 @@ namespace sat {
next = m_case_split_queue.min_var();
auto age = m_stats.m_conflict - m_canceled[next];
while (age > 0) {
set_activity(next, static_cast<unsigned>(m_activity[next] * pow(0.95, age)));
set_activity(next, static_cast<unsigned>(m_activity[next] * pow(0.95, static_cast<double>(age))));
m_canceled[next] = m_stats.m_conflict;
next = m_case_split_queue.min_var();
age = m_stats.m_conflict - m_canceled[next];

View file

@ -78,7 +78,7 @@ namespace ba {
}
}
if (k >= slack) return 1;
return pow(0.5, slack - k + 1) * to_add;
return pow(0.5, static_cast<double>(slack - k + 1)) * to_add;
}
std::ostream& card::display(std::ostream& out) const {

View file

@ -49,7 +49,7 @@ namespace smt {
}
}
if (!is_taut && nf > 0) {
score += pow(0.5, nu);
score += pow(0.5, static_cast<double>(nu));
}
}
return score;

View file

@ -327,7 +327,7 @@ class parallel_tactic : public tactic {
p.copy(m_params);
double exp = pp.simplify_exp();
exp = std::max(exp, 1.0);
unsigned mult = static_cast<unsigned>(pow(exp, m_depth - 1));
unsigned mult = static_cast<unsigned>(pow(exp, static_cast<double>(m_depth - 1)));
unsigned max_conflicts = pp.simplify_max_conflicts();
if (max_conflicts < 1000000)
max_conflicts *= std::max(m_depth, 1u);