def __eq__(self, other):
if isinstance(other, ValueSet):<EOL><INDENT>same = False<EOL>different = False<EOL>for region, si in other.regions.items():<EOL><INDENT>if region in self.regions:<EOL><INDENT>comp_ret = self.regions[region] == si<EOL>if BoolResult.has_true(comp_ret):<EOL><INDENT>same = True<EOL><DEDENT>if BoolResult.has_false(comp_ret):<EOL><INDENT>different = True<EOL><DEDENT><DEDENT>else:<EOL><INDENT>different = True<EOL><DEDENT><DEDENT>if same and not different:<EOL><INDENT>return TrueResult()<EOL><DEDENT>if same and different:<EOL><INDENT>return MaybeResult()<EOL><DEDENT>return FalseResult()<EOL><DEDENT>elif isinstance(other, StridedInterval):<EOL><INDENT>if '<STR_LIT>' in self.regions:<EOL><INDENT>return self.regions['<STR_LIT>'] == other<EOL><DEDENT>else:<EOL><INDENT>return FalseResult()<EOL><DEDENT><DEDENT>else:<EOL><INDENT>return FalseResult()<EOL><DEDENT>
Binary operation: ==

:param other: The other operand
:return: True/False/Maybe