mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
delay internalize (#4714)
* adding array solver Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * use default in model construction Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * debug delay internalization Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * bv Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * arrays Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * get rid of implied values and bounds Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * redo egraph * remove out Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove files Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
25724401cf
commit
367e5fdd52
60 changed files with 1343 additions and 924 deletions
|
@ -101,8 +101,16 @@ template <typename T, typename X> void core_solver_pretty_printer<T, X>::init_m_
|
|||
for (const auto & c : m_core_solver.m_A.m_columns[column]){
|
||||
t[c.var()] = m_core_solver.m_A.get_val(c);
|
||||
}
|
||||
|
||||
string name = m_core_solver.column_name(column);
|
||||
|
||||
auto const& value = m_core_solver.get_var_value(column);
|
||||
|
||||
if (m_core_solver.column_is_fixed(column) && is_zero(value))
|
||||
continue;
|
||||
string name;
|
||||
if (m_core_solver.column_is_fixed(column))
|
||||
name = "*" + T_to_string(value);
|
||||
else
|
||||
name = m_core_solver.column_name(column);
|
||||
for (unsigned row = 0; row < nrows(); row ++) {
|
||||
m_A[row].resize(ncols(), "");
|
||||
m_signs[row].resize(ncols(),"");
|
||||
|
|
|
@ -191,7 +191,7 @@ public:
|
|||
|
||||
void add_delta_to_entering(unsigned entering, const X & delta);
|
||||
|
||||
const T & get_var_value(unsigned j) const {
|
||||
const X & get_var_value(unsigned j) const {
|
||||
return m_x[j];
|
||||
}
|
||||
|
||||
|
@ -618,9 +618,9 @@ public:
|
|||
return out;
|
||||
}
|
||||
|
||||
bool column_is_free(unsigned j) const { return this->m_column_type[j] == column_type::free_column; }
|
||||
bool column_is_free(unsigned j) const { return this->m_column_types[j] == column_type::free_column; }
|
||||
|
||||
bool column_is_fixed(unsigned j) const { return this->m_column_type[j] == column_type::fixed; }
|
||||
bool column_is_fixed(unsigned j) const { return this->m_column_types[j] == column_type::fixed; }
|
||||
|
||||
|
||||
bool column_has_upper_bound(unsigned j) const {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue