mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-30 19:22:28 +00:00 
			
		
		
		
	xnor
This commit is contained in:
		
							parent
							
								
									4501a372b1
								
							
						
					
					
						commit
						7f41761616
					
				
					 4 changed files with 9 additions and 0 deletions
				
			
		|  | @ -502,6 +502,10 @@ namespace polysat { | |||
|     pdd constraint_manager::bnor(pdd const& p, pdd const& q) { | ||||
|         return bnot(bor(p, q)); | ||||
|     } | ||||
| 
 | ||||
|     pdd constraint_manager::bxnor(pdd const& p, pdd const& q) { | ||||
|         return bnot(bxor(p, q)); | ||||
|     } | ||||
|      | ||||
|     pdd constraint_manager::pseudo_inv(pdd const& p) { | ||||
|         auto& m = p.manager(); | ||||
|  |  | |||
|  | @ -130,6 +130,7 @@ namespace polysat { | |||
|         pdd bxor(pdd const& p, pdd const& q); | ||||
|         pdd bnand(pdd const& p, pdd const& q); | ||||
|         pdd bnor(pdd const& p, pdd const& q); | ||||
|         pdd bxnor(pdd const& p, pdd const& q); | ||||
|         pdd pseudo_inv(pdd const& p); | ||||
| 
 | ||||
|         constraint* const* begin() const { return m_constraints.data(); } | ||||
|  |  | |||
|  | @ -403,6 +403,9 @@ namespace polysat { | |||
|         /** Create expression for bit-wise xor of p, q. */ | ||||
|         pdd bxor(pdd const& p, pdd const& q) { return m_constraints.bxor(p, q); } | ||||
| 
 | ||||
|         /** Create expression for bit-wise xnor of p, q. */ | ||||
|         pdd bxnor(pdd const& p, pdd const& q) { return m_constraints.bxnor(p, q); } | ||||
| 
 | ||||
|         /** Create expression for bit-wise nand of p, q. */ | ||||
|         pdd bnand(pdd const& p, pdd const& q) { return m_constraints.bnand(p, q); } | ||||
| 
 | ||||
|  |  | |||
|  | @ -43,6 +43,7 @@ namespace bv { | |||
|         case OP_BXOR:             polysat_binary(a, [&](pdd const& p, pdd const& q) { return m_polysat.bxor(p, q); }); break; | ||||
|         case OP_BNAND:            polysat_binary(a, [&](pdd const& p, pdd const& q) { return m_polysat.bnand(p, q); }); break; | ||||
|         case OP_BNOR:             polysat_binary(a, [&](pdd const& p, pdd const& q) { return m_polysat.bnor(p, q); }); break; | ||||
|         case OP_BXNOR:            polysat_binary(a, [&](pdd const& p, pdd const& q) { return m_polysat.bxnor(p, q); }); break; | ||||
|         case OP_BNOT:             polysat_unary(a, [&](pdd const& p) { return m_polysat.bnot(p); }); break; | ||||
| 
 | ||||
|         case OP_BNEG:             polysat_unary(a, [&](pdd const& p) { return -p; }); break; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue