mirror of
				https://github.com/Brandon-Rozek/matmod.git
				synced 2025-11-03 03:11:12 +00:00 
			
		
		
		
	Check models in parallel
This commit is contained in:
		
							parent
							
								
									fb074ff0e8
								
							
						
					
					
						commit
						aeb8ae0440
					
				
					 4 changed files with 26 additions and 14 deletions
				
			
		
							
								
								
									
										6
									
								
								logic.py
									
										
									
									
									
								
							
							
						
						
									
										6
									
								
								logic.py
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,3 +1,4 @@
 | 
			
		|||
from common import immutable
 | 
			
		||||
from typing import Optional, Set, Tuple
 | 
			
		||||
from functools import lru_cache
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -6,13 +7,14 @@ class Operation:
 | 
			
		|||
        self.symbol = symbol
 | 
			
		||||
        self.arity = arity
 | 
			
		||||
        self.hashed_value = hash(self.symbol) + self.arity
 | 
			
		||||
        def immutable(self, name, value):
 | 
			
		||||
            raise Exception("Operations are immutable")
 | 
			
		||||
        self.__setattr__ = immutable
 | 
			
		||||
 | 
			
		||||
    def __hash__(self):
 | 
			
		||||
        return self.hashed_value
 | 
			
		||||
 | 
			
		||||
    def __eq__(self, x):
 | 
			
		||||
        return self.symbol == x.symbol and self.arity == x.arity
 | 
			
		||||
 | 
			
		||||
    def __call__(self, *args):
 | 
			
		||||
        # Ensure the arity is met
 | 
			
		||||
        assert len(args) == self.arity
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue