mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-31 19:52:29 +00:00 
			
		
		
		
	enable fixed propagation from inequalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
		
							parent
							
								
									41d6087f6b
								
							
						
					
					
						commit
						1e3c3dc48f
					
				
					 5 changed files with 76 additions and 50 deletions
				
			
		|  | @ -43,6 +43,11 @@ u256::u256(uint64_t const* v) { | |||
|     std::uninitialized_copy(v, v + 4, m_num); | ||||
| } | ||||
| 
 | ||||
| unsigned u256::hash() const { | ||||
|     uint64_t h = m_num[0] + m_num[1] + m_num[2] + m_num[3]; | ||||
|     return static_cast<unsigned>(h ^ (h >> 32ull)); | ||||
| } | ||||
| 
 | ||||
| u256 u256::operator*(u256 const& other) const { | ||||
|     // TBD: maybe just use mpn_manager::mul?
 | ||||
|     uint64_t result[8]; | ||||
|  |  | |||
|  | @ -16,6 +16,7 @@ public: | |||
|         *this = u256(n); | ||||
|         return *this; | ||||
|     } | ||||
|     unsigned hash() const; | ||||
|     u256 operator*(u256 const& other) const; | ||||
|     u256 operator+(u256 const& other) const { u256 r = *this; return r += other; } | ||||
|     u256 operator-(u256 const& other) const { u256 r = *this; return r -= other; } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue