def __deepcopy__(self, memo):
        """
        Copies a Cell but does not copy it's domain or values (extension)
        because these can be recomputed.
        TODO: test that amortized flags (__recompute=False) are not copied
        """
        copied = copy.copy(self)  # shallow copy
        copied.__dict__.update(self.__dict__)
        for key, val in copied.__dict__.items():
            if not key in ['domain', 'values', '_domain_hash']:
                copied.__dict__[key] = copy.deepcopy(val, memo)
        return copied
def __deepcopy__ ( self , memo ) : copied = copy . copy ( self ) copied . __dict__ . update ( self . __dict__ ) for key , val in copied . __dict__ . items ( ) : if not key in [ 'domain' , 'values' , '_domain_hash' ] : copied . __dict__ [ key ] = copy . deepcopy ( val , memo ) return copied
Copies a Cell but does not copy it's domain or values (extension)
        because these can be recomputed.
        TODO: test that amortized flags (__recompute=False) are not copied