mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	univariate solver: add_bit
This commit is contained in:
		
							parent
							
								
									d9a63ce786
								
							
						
					
					
						commit
						058c5771b9
					
				
					 2 changed files with 6 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -144,6 +144,10 @@ namespace polysat {
 | 
			
		|||
            add(bv->mk_ule(mk_numeral(val), x), sign, dep);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        void add_bit(unsigned idx, bool sign, dep_t dep) override {
 | 
			
		||||
            add(bv->mk_bit2bool(x, idx), sign, dep);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        lbool check() override {
 | 
			
		||||
            return s->check_sat();
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -63,8 +63,8 @@ namespace polysat {
 | 
			
		|||
        void add_ugt_const(rational const& val, bool sign, dep_t dep) { add_ule_const(val, !sign, dep); }
 | 
			
		||||
        void add_ult_const(rational const& val, bool sign, dep_t dep) { add_uge_const(val, !sign, dep); }
 | 
			
		||||
 | 
			
		||||
        // TODO: assert bit; use bv->mk_bit2bool(x, idx)
 | 
			
		||||
        // virtual void add_bit(unsigned idx, bool sign, dep_t dep);
 | 
			
		||||
        /// Assert i-th bit of x
 | 
			
		||||
        virtual void add_bit(unsigned idx, bool sign, dep_t dep) = 0;
 | 
			
		||||
 | 
			
		||||
        virtual std::ostream& display(std::ostream& out) const = 0;
 | 
			
		||||
    };
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue