diff --git a/src/__init__.py b/pymbolic/__init__.py similarity index 100% rename from src/__init__.py rename to pymbolic/__init__.py diff --git a/src/algorithm.py b/pymbolic/algorithm.py similarity index 100% rename from src/algorithm.py rename to pymbolic/algorithm.py diff --git a/src/compiler.py b/pymbolic/compiler.py similarity index 100% rename from src/compiler.py rename to pymbolic/compiler.py diff --git a/src/functions.py b/pymbolic/functions.py similarity index 100% rename from src/functions.py rename to pymbolic/functions.py diff --git a/src/mapper/__init__.py b/pymbolic/mapper/__init__.py similarity index 97% rename from src/mapper/__init__.py rename to pymbolic/mapper/__init__.py index d54d1dafd9c50b5a509196cde2e7fa14e7578740..7817546eb39367688bbf28ff7666083351159899 100644 --- a/src/mapper/__init__.py +++ b/pymbolic/mapper/__init__.py @@ -195,7 +195,9 @@ class IdentityMapperBase(object): return result def map_common_subexpression(self, expr, *args, **kwargs): - return expr.__class__(self.rec(expr.child, *args, **kwargs)) + return expr.__class__( + self.rec(expr.child, *args, **kwargs), + **expr.get_extra_properties()) diff --git a/src/mapper/c_code.py b/pymbolic/mapper/c_code.py similarity index 100% rename from src/mapper/c_code.py rename to pymbolic/mapper/c_code.py diff --git a/src/mapper/collector.py b/pymbolic/mapper/collector.py similarity index 100% rename from src/mapper/collector.py rename to pymbolic/mapper/collector.py diff --git a/src/mapper/constant_folder.py b/pymbolic/mapper/constant_folder.py similarity index 100% rename from src/mapper/constant_folder.py rename to pymbolic/mapper/constant_folder.py diff --git a/src/mapper/dependency.py b/pymbolic/mapper/dependency.py similarity index 100% rename from src/mapper/dependency.py rename to pymbolic/mapper/dependency.py diff --git a/src/mapper/differentiator.py b/pymbolic/mapper/differentiator.py similarity index 100% rename from src/mapper/differentiator.py rename to pymbolic/mapper/differentiator.py diff --git a/src/mapper/evaluator.py b/pymbolic/mapper/evaluator.py similarity index 100% rename from src/mapper/evaluator.py rename to pymbolic/mapper/evaluator.py diff --git a/src/mapper/expander.py b/pymbolic/mapper/expander.py similarity index 100% rename from src/mapper/expander.py rename to pymbolic/mapper/expander.py diff --git a/src/mapper/flattener.py b/pymbolic/mapper/flattener.py similarity index 100% rename from src/mapper/flattener.py rename to pymbolic/mapper/flattener.py diff --git a/src/mapper/flop_counter.py b/pymbolic/mapper/flop_counter.py similarity index 100% rename from src/mapper/flop_counter.py rename to pymbolic/mapper/flop_counter.py diff --git a/src/mapper/stringifier.py b/pymbolic/mapper/stringifier.py similarity index 100% rename from src/mapper/stringifier.py rename to pymbolic/mapper/stringifier.py diff --git a/src/mapper/substitutor.py b/pymbolic/mapper/substitutor.py similarity index 100% rename from src/mapper/substitutor.py rename to pymbolic/mapper/substitutor.py diff --git a/src/parser.py b/pymbolic/parser.py similarity index 100% rename from src/parser.py rename to pymbolic/parser.py diff --git a/src/polynomial.py b/pymbolic/polynomial.py similarity index 100% rename from src/polynomial.py rename to pymbolic/polynomial.py diff --git a/src/primitives.py b/pymbolic/primitives.py similarity index 99% rename from src/primitives.py rename to pymbolic/primitives.py index 14b066fabb321f0c4f3c8e5a3961995a35b34613..fe1c2b3f9846303bf24d6eee493c67ea35b21c8e 100644 --- a/src/primitives.py +++ b/pymbolic/primitives.py @@ -548,6 +548,9 @@ class CommonSubexpression(Expression): return (other.__class__ == self.__class__ and other.child == self.child) + def get_extra_properties(self): + return {} + def get_mapper_method(self, mapper): return mapper.map_common_subexpression diff --git a/src/rational.py b/pymbolic/rational.py similarity index 100% rename from src/rational.py rename to pymbolic/rational.py diff --git a/src/traits.py b/pymbolic/traits.py similarity index 100% rename from src/traits.py rename to pymbolic/traits.py diff --git a/setup.py b/setup.py index cea5c8513d9c6b94345bc5ed95896021aea2fd42..f0d0dd608f558916d380350691992a1dce766e06 100644 --- a/setup.py +++ b/setup.py @@ -52,7 +52,6 @@ setup(name="pymbolic", install_requires=[ 'pytools>=2' ], - package_dir={"pymbolic": "src", "pymbolic.mapper":"src/mapper"}, zip_safe=False, )