mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 13:29:11 +00:00 
			
		
		
		
	signed
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
		
							parent
							
								
									e63e4587a4
								
							
						
					
					
						commit
						00deb12238
					
				
					 5 changed files with 10 additions and 9 deletions
				
			
		| 
						 | 
					@ -62,13 +62,13 @@ public:
 | 
				
			||||||
        if (it == nullptr) return;
 | 
					        if (it == nullptr) return;
 | 
				
			||||||
        mpq a = it->get_data().m_value;
 | 
					        mpq a = it->get_data().m_value;
 | 
				
			||||||
        this->m_coeffs.erase(term_column);
 | 
					        this->m_coeffs.erase(term_column);
 | 
				
			||||||
        for (const auto & p : t) {
 | 
					        for (auto p : t) {
 | 
				
			||||||
            this->add_monomial(a * p.coeff(), p.column());
 | 
					            this->add_monomial(a * p.coeff(), p.column());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    lar_term(const vector<std::pair<mpq, unsigned>>& coeffs) {
 | 
					    lar_term(const vector<std::pair<mpq, unsigned>>& coeffs) {
 | 
				
			||||||
        for (const auto & p : coeffs) {
 | 
					        for (auto const& p : coeffs) {
 | 
				
			||||||
            add_monomial(p.first, p.second);
 | 
					            add_monomial(p.first, p.second);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -325,7 +325,7 @@ namespace {
 | 
				
			||||||
        ast_manager &     m_manager;
 | 
					        ast_manager &     m_manager;
 | 
				
			||||||
        ptr_vector<expr>  m_queue;
 | 
					        ptr_vector<expr>  m_queue;
 | 
				
			||||||
        unsigned          m_head;
 | 
					        unsigned          m_head;
 | 
				
			||||||
        int               m_bs_num_bool_vars; //!< Number of boolean variable before starting to search.
 | 
					        bool_var          m_bs_num_bool_vars; //!< Number of boolean variable before starting to search.
 | 
				
			||||||
        ptr_vector<expr>  m_queue2;
 | 
					        ptr_vector<expr>  m_queue2;
 | 
				
			||||||
        unsigned          m_head2;
 | 
					        unsigned          m_head2;
 | 
				
			||||||
        svector<scope>    m_scopes;
 | 
					        svector<scope>    m_scopes;
 | 
				
			||||||
| 
						 | 
					@ -513,7 +513,7 @@ namespace {
 | 
				
			||||||
        smt_params &m_params;  
 | 
					        smt_params &m_params;  
 | 
				
			||||||
        ptr_vector<expr>  m_queue;
 | 
					        ptr_vector<expr>  m_queue;
 | 
				
			||||||
        unsigned          m_head;
 | 
					        unsigned          m_head;
 | 
				
			||||||
        int               m_bs_num_bool_vars; //!< Number of boolean variable before starting to search.
 | 
					        bool_var          m_bs_num_bool_vars; //!< Number of boolean variable before starting to search.
 | 
				
			||||||
        bool_var_act_queue m_delayed_queue;
 | 
					        bool_var_act_queue m_delayed_queue;
 | 
				
			||||||
        svector<scope>    m_scopes;
 | 
					        svector<scope>    m_scopes;
 | 
				
			||||||
    public:
 | 
					    public:
 | 
				
			||||||
| 
						 | 
					@ -745,7 +745,7 @@ namespace {
 | 
				
			||||||
        ast_manager &        m_manager;
 | 
					        ast_manager &        m_manager;
 | 
				
			||||||
        ptr_vector<expr>     m_queue;
 | 
					        ptr_vector<expr>     m_queue;
 | 
				
			||||||
        unsigned             m_head;
 | 
					        unsigned             m_head;
 | 
				
			||||||
        int                  m_bs_num_bool_vars; //!< Number of boolean variable before starting to search.
 | 
					        bool_var             m_bs_num_bool_vars; //!< Number of boolean variable before starting to search.
 | 
				
			||||||
        svector<queue_entry> m_queue2;
 | 
					        svector<queue_entry> m_queue2;
 | 
				
			||||||
        svector<scope>       m_scopes;
 | 
					        svector<scope>       m_scopes;
 | 
				
			||||||
        unsigned             m_current_generation;
 | 
					        unsigned             m_current_generation;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -263,7 +263,7 @@ namespace smt {
 | 
				
			||||||
    */
 | 
					    */
 | 
				
			||||||
    bool context::check_th_diseq_propagation() const {
 | 
					    bool context::check_th_diseq_propagation() const {
 | 
				
			||||||
        TRACE("check_th_diseq_propagation", tout << "m_propagated_th_diseqs.size() " << m_propagated_th_diseqs.size() << "\n";);
 | 
					        TRACE("check_th_diseq_propagation", tout << "m_propagated_th_diseqs.size() " << m_propagated_th_diseqs.size() << "\n";);
 | 
				
			||||||
        int num = get_num_bool_vars();
 | 
					        unsigned num = get_num_bool_vars();
 | 
				
			||||||
        if (inconsistent() || get_manager().limit().is_canceled()) {
 | 
					        if (inconsistent() || get_manager().limit().is_canceled()) {
 | 
				
			||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -296,7 +296,7 @@ namespace smt {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void context::display_hot_bool_vars(std::ostream & out) const {
 | 
					    void context::display_hot_bool_vars(std::ostream & out) const {
 | 
				
			||||||
        out << "hot bool vars:\n";
 | 
					        out << "hot bool vars:\n";
 | 
				
			||||||
        int num = get_num_bool_vars();
 | 
					        unsigned num = get_num_bool_vars();
 | 
				
			||||||
        for (bool_var v = 0; v < num; v++) {
 | 
					        for (bool_var v = 0; v < num; v++) {
 | 
				
			||||||
            double val = get_activity(v)/m_bvar_inc;
 | 
					            double val = get_activity(v)/m_bvar_inc;
 | 
				
			||||||
            if (val > 10.00) {
 | 
					            if (val > 10.00) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,6 +22,7 @@ Revision History:
 | 
				
			||||||
#include "util/vector.h"
 | 
					#include "util/vector.h"
 | 
				
			||||||
#include "util/hashtable.h"
 | 
					#include "util/hashtable.h"
 | 
				
			||||||
#include "util/lbool.h"
 | 
					#include "util/lbool.h"
 | 
				
			||||||
 | 
					#include "util/sat_literal.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class model;
 | 
					class model;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,9 +30,9 @@ namespace smt {
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
       \brief A boolean variable is just an integer.
 | 
					       \brief A boolean variable is just an integer.
 | 
				
			||||||
    */
 | 
					    */
 | 
				
			||||||
    typedef int bool_var;
 | 
					    typedef sat::bool_var bool_var;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    const bool_var null_bool_var  = -1;
 | 
					    const bool_var null_bool_var  = sat::null_bool_var;
 | 
				
			||||||
    const bool_var true_bool_var  = 0;
 | 
					    const bool_var true_bool_var  = 0;
 | 
				
			||||||
    const bool_var first_bool_var = 1;
 | 
					    const bool_var first_bool_var = 1;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue