X-Git-Url: https://scm.cri.mines-paristech.fr/git/linpy.git/blobdiff_plain/950e4adf4d155a2880fbfcd61021f775dfddaeac..9a4172e83557d605fbcb6b6b8fb41f8debab2e13:/linpy/domains.py?ds=sidebyside diff --git a/linpy/domains.py b/linpy/domains.py index 0da0a49..519059d 100644 --- a/linpy/domains.py +++ b/linpy/domains.py @@ -38,7 +38,7 @@ __all__ = [ class Domain(GeometricObject): """ A domain is a union of polyhedra. Unlike polyhedra, domains allow exact - computation of union and complementary operations. + computation of union, subtraction and complementary operations. A domain with a unique polyhedron is automatically subclassed as a Polyhedron instance. @@ -703,17 +703,17 @@ class Domain(GeometricObject): Create a domain from a string. Raise SyntaxError if the string is not properly formatted. """ - # remove curly brackets + # Remove curly brackets. string = cls._RE_BRACES.sub(r'', string) - # replace '=' by '==' + # Replace '=' by '=='. string = cls._RE_EQ.sub(r'\1==\2', string) - # replace 'and', 'or', 'not' + # Replace 'and', 'or', 'not'. string = cls._RE_AND.sub(r' & ', string) string = cls._RE_OR.sub(r' | ', string) string = cls._RE_NOT.sub(r' ~', string) - # add implicit multiplication operators, e.g. '5x' -> '5*x' + # Add implicit multiplication operators, e.g. '5x' -> '5*x'. string = cls._RE_NUM_VAR.sub(r'\1*\2', string) - # add parentheses to force precedence + # Add parentheses to force precedence. tokens = cls._RE_OPERATORS.split(string) for i, token in enumerate(tokens): if i % 2 == 0: @@ -772,7 +772,6 @@ def And(*domains): return Universe else: return domains[0].intersection(*domains[1:]) -And.__doc__ = Domain.intersection.__doc__ def Or(*domains): """ @@ -783,11 +782,9 @@ def Or(*domains): return Empty else: return domains[0].union(*domains[1:]) -Or.__doc__ = Domain.union.__doc__ def Not(domain): """ Create the complementary domain of the domain given in argument. """ return ~domain -Not.__doc__ = Domain.complement.__doc__