mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	build fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
		
							parent
							
								
									061934b648
								
							
						
					
					
						commit
						3d9da872c8
					
				
					 2 changed files with 33 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -42,8 +42,37 @@ class sls_tracker {
 | 
			
		|||
    struct value_score {
 | 
			
		||||
        value_score() : value(unsynch_mpz_manager::mk_z(0)) {};
 | 
			
		||||
        value_score(value_score&&) noexcept = default;
 | 
			
		||||
        value_score(const value_score &other) {
 | 
			
		||||
            m = other.m;
 | 
			
		||||
            if (other.m && !unsynch_mpz_manager::is_zero(other.value)) {
 | 
			
		||||
                m->set(value, other.value);
 | 
			
		||||
            }
 | 
			
		||||
            score = other.score;
 | 
			
		||||
            score_prune = other.score_prune;
 | 
			
		||||
            has_pos_occ = other.has_pos_occ;
 | 
			
		||||
            has_neg_occ = other.has_neg_occ;
 | 
			
		||||
            distance = other.distance;
 | 
			
		||||
            touched = other.touched;
 | 
			
		||||
        }
 | 
			
		||||
        ~value_score() { if (m) m->del(value); }
 | 
			
		||||
        value_score& operator=(value_score&&) = default;
 | 
			
		||||
        value_score &operator=(const value_score &other) {
 | 
			
		||||
            if (this != &other) {
 | 
			
		||||
                if (m)
 | 
			
		||||
                    m->del(value);
 | 
			
		||||
                m = other.m;
 | 
			
		||||
                if (other.m && !unsynch_mpz_manager::is_zero(other.value)) {
 | 
			
		||||
                    m->set(value, other.value);
 | 
			
		||||
                }
 | 
			
		||||
                score = other.score;
 | 
			
		||||
                score_prune = other.score_prune;
 | 
			
		||||
                has_pos_occ = other.has_pos_occ;
 | 
			
		||||
                has_neg_occ = other.has_neg_occ;
 | 
			
		||||
                distance = other.distance;
 | 
			
		||||
                touched = other.touched;
 | 
			
		||||
            }
 | 
			
		||||
            return *this;
 | 
			
		||||
        }
 | 
			
		||||
        unsynch_mpz_manager * m = nullptr;
 | 
			
		||||
        mpz value;
 | 
			
		||||
        double score = 0.0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,6 +61,10 @@ public:
 | 
			
		|||
        key_data() {}
 | 
			
		||||
        key_data(Key *key) : m_key(key) {}
 | 
			
		||||
        key_data(Key *k, Value const &v) : m_key(k), m_value(v) {}
 | 
			
		||||
        key_data(key_data &&kd) noexcept = default;
 | 
			
		||||
        key_data(key_data const &kd) noexcept = default;
 | 
			
		||||
        key_data &operator=(key_data const &kd)  = default;
 | 
			
		||||
        key_data &operator=(key_data &&kd) = default;
 | 
			
		||||
        Value const & get_value() const { return m_value; }
 | 
			
		||||
        Key & get_key () const { return *m_key; }
 | 
			
		||||
        unsigned hash() const { return m_key->hash(); }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue