From 48857e404d1923944e68758a8f698c98bea42474 Mon Sep 17 00:00:00 2001 From: Alexandru Fikl <alexfikl@gmail.com> Date: Thu, 4 Feb 2021 20:44:27 -0600 Subject: [PATCH] remove all usage of six --- pymbolic/algorithm.py | 3 +-- pymbolic/compiler.py | 3 ++- pymbolic/cse.py | 2 -- pymbolic/geometric_algebra/__init__.py | 2 -- pymbolic/geometric_algebra/mapper.py | 2 -- pymbolic/imperative/statement.py | 6 ++---- pymbolic/imperative/utils.py | 3 --- pymbolic/interop/maxima.py | 3 +-- pymbolic/mapper/__init__.py | 4 +--- pymbolic/mapper/coefficient.py | 3 --- pymbolic/mapper/collector.py | 2 -- pymbolic/mapper/constant_folder.py | 9 +++++---- pymbolic/mapper/evaluator.py | 2 +- pymbolic/mapper/unifier.py | 2 -- pymbolic/parser.py | 2 +- pymbolic/polynomial.py | 26 ++------------------------ pymbolic/primitives.py | 6 +----- pymbolic/rational.py | 2 +- pymbolic/traits.py | 4 +--- 19 files changed, 19 insertions(+), 67 deletions(-) diff --git a/pymbolic/algorithm.py b/pymbolic/algorithm.py index e27532d..a77b383 100644 --- a/pymbolic/algorithm.py +++ b/pymbolic/algorithm.py @@ -20,8 +20,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ -import six -from six.moves import reduce import cmath from pytools import memoize @@ -97,6 +95,7 @@ def gcd_many(*args): elif len(args) == 1: return args[0] else: + from functools import reduce return reduce(gcd, args) diff --git a/pymbolic/compiler.py b/pymbolic/compiler.py index f1be217..f553c0d 100644 --- a/pymbolic/compiler.py +++ b/pymbolic/compiler.py @@ -22,7 +22,8 @@ THE SOFTWARE. import math import pymbolic -from pymbolic.mapper.stringifier import (StringifyMapper, PREC_NONE, +from pymbolic.mapper.stringifier import ( + StringifyMapper, PREC_NONE, PREC_SUM, PREC_POWER) diff --git a/pymbolic/cse.py b/pymbolic/cse.py index 3e0bce4..10f6869 100644 --- a/pymbolic/cse.py +++ b/pymbolic/cse.py @@ -1,5 +1,3 @@ -import six - __copyright__ = "Copyright (C) 2009-2013 Andreas Kloeckner" __license__ = """ diff --git a/pymbolic/geometric_algebra/__init__.py b/pymbolic/geometric_algebra/__init__.py index d6cfb3f..32a3cdc 100644 --- a/pymbolic/geometric_algebra/__init__.py +++ b/pymbolic/geometric_algebra/__init__.py @@ -20,8 +20,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ -import six - from pytools import memoize, memoize_method import numpy as np diff --git a/pymbolic/geometric_algebra/mapper.py b/pymbolic/geometric_algebra/mapper.py index 3eb3f32..9443de2 100644 --- a/pymbolic/geometric_algebra/mapper.py +++ b/pymbolic/geometric_algebra/mapper.py @@ -99,11 +99,9 @@ class StringifyMapper(StringifyMapperBase): AXES = {0: "x", 1: "y", 2: "z"} def map_nabla(self, expr, enclosing_prec): - import sys return "∇[%s]" % expr.nabla_id def map_nabla_component(self, expr, enclosing_prec): - import sys return "∇{}[{}]".format( self.AXES.get(expr.ambient_axis, expr.ambient_axis), expr.nabla_id) diff --git a/pymbolic/imperative/statement.py b/pymbolic/imperative/statement.py index 6ef4a6a..176180c 100644 --- a/pymbolic/imperative/statement.py +++ b/pymbolic/imperative/statement.py @@ -22,9 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - -import six - +from sys import intern from pytools import RecordWithoutPickling @@ -49,7 +47,7 @@ class Statement(RecordWithoutPickling): def __init__(self, **kwargs): id = kwargs.pop("id", None) if id is not None: - id = six.moves.intern(id) + id = intern(id) depends_on = frozenset(kwargs.pop("depends_on", [])) super().__init__( diff --git a/pymbolic/imperative/utils.py b/pymbolic/imperative/utils.py index 18cbfef..fd34f4b 100644 --- a/pymbolic/imperative/utils.py +++ b/pymbolic/imperative/utils.py @@ -23,10 +23,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - -import six import logging - logger = logging.getLogger(__name__) diff --git a/pymbolic/interop/maxima.py b/pymbolic/interop/maxima.py index f5e892a..12ac92d 100644 --- a/pymbolic/interop/maxima.py +++ b/pymbolic/interop/maxima.py @@ -34,12 +34,11 @@ __doc__ = """ # Inspired by similar code in Sage at: # http://trac.sagemath.org/sage_trac/browser/sage/interfaces/maxima.py -import six -from six.moves import intern import re import pytools import numpy as np +from sys import intern from pymbolic.mapper.stringifier import StringifyMapper from pymbolic.parser import Parser as ParserBase, FinalizedTuple diff --git a/pymbolic/mapper/__init__.py b/pymbolic/mapper/__init__.py index ba992e7..a9f54c6 100644 --- a/pymbolic/mapper/__init__.py +++ b/pymbolic/mapper/__init__.py @@ -1,6 +1,3 @@ -import six -from functools import reduce - __copyright__ = "Copyright (C) 2009-2013 Andreas Kloeckner" __license__ = """ @@ -336,6 +333,7 @@ class Collector(CombineMapper): def combine(self, values): import operator + from functools import reduce return reduce(operator.or_, values, set()) def map_constant(self, expr): diff --git a/pymbolic/mapper/coefficient.py b/pymbolic/mapper/coefficient.py index 32c9f38..73276ed 100644 --- a/pymbolic/mapper/coefficient.py +++ b/pymbolic/mapper/coefficient.py @@ -1,5 +1,3 @@ -import six - __copyright__ = "Copyright (C) 2013 Andreas Kloeckner" __license__ = """ @@ -22,7 +20,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ - from pymbolic.mapper import Mapper diff --git a/pymbolic/mapper/collector.py b/pymbolic/mapper/collector.py index f73c537..85cb3c6 100644 --- a/pymbolic/mapper/collector.py +++ b/pymbolic/mapper/collector.py @@ -1,5 +1,3 @@ -import six - __copyright__ = "Copyright (C) 2009-2013 Andreas Kloeckner" __license__ = """ diff --git a/pymbolic/mapper/constant_folder.py b/pymbolic/mapper/constant_folder.py index 5799efa..724c770 100644 --- a/pymbolic/mapper/constant_folder.py +++ b/pymbolic/mapper/constant_folder.py @@ -20,10 +20,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ -from six.moves import reduce -from pymbolic.mapper import \ - IdentityMapper, \ - CSECachingMapperMixin +from pymbolic.mapper import ( + IdentityMapper, + CSECachingMapperMixin, + ) class ConstantFoldingMapperBase: @@ -60,6 +60,7 @@ class ConstantFoldingMapperBase: nonconstants.append(child) if constants: + from functools import reduce constant = reduce(op, constants) return constructor(tuple([constant]+nonconstants)) else: diff --git a/pymbolic/mapper/evaluator.py b/pymbolic/mapper/evaluator.py index 6b54ea7..889bc90 100644 --- a/pymbolic/mapper/evaluator.py +++ b/pymbolic/mapper/evaluator.py @@ -23,7 +23,7 @@ THE SOFTWARE. from pymbolic.mapper import RecursiveMapper, CSECachingMapperMixin import operator as op -from six.moves import reduce +from functools import reduce class UnknownVariableError(Exception): diff --git a/pymbolic/mapper/unifier.py b/pymbolic/mapper/unifier.py index eca76b4..cfaa071 100644 --- a/pymbolic/mapper/unifier.py +++ b/pymbolic/mapper/unifier.py @@ -1,5 +1,3 @@ -import six - __copyright__ = "Copyright (C) 2009-2013 Andreas Kloeckner" __license__ = """ diff --git a/pymbolic/parser.py b/pymbolic/parser.py index ea9f580..b846193 100644 --- a/pymbolic/parser.py +++ b/pymbolic/parser.py @@ -21,7 +21,7 @@ THE SOFTWARE. """ import pytools.lex -from six.moves import intern +from sys import intern _imaginary = intern("imaginary") _float = intern("float") diff --git a/pymbolic/polynomial.py b/pymbolic/polynomial.py index f4b83dd..774f2fb 100644 --- a/pymbolic/polynomial.py +++ b/pymbolic/polynomial.py @@ -1,5 +1,3 @@ -from six.moves import intern - __copyright__ = "Copyright (C) 2009-2013 Andreas Kloeckner" __license__ = """ @@ -22,14 +20,14 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ +from sys import intern + import pymbolic from pymbolic.primitives import Expression import pymbolic.algorithm as algorithm from pymbolic.traits import traits, EuclideanRingTraits, FieldTraits - - def _sort_uniq(data): def sortkey(xxx_todo_changeme): (exp, coeff) = xxx_todo_changeme; return exp data.sort(key=sortkey) @@ -51,15 +49,11 @@ def _sort_uniq(data): return uniq_result - - def _get_dependencies(expr): from pymbolic.mapper.dependency import DependencyMapper return DependencyMapper()(expr) - - class LexicalMonomialOrder: def __call__(self, a, b): from pymbolic.primitives import Variable @@ -74,9 +68,6 @@ class LexicalMonomialOrder: return "LexicalMonomialOrder()" - - - class Polynomial(Expression): def __init__(self, base, data=None, unit=1, var_less=LexicalMonomialOrder()): self.Base = base @@ -299,8 +290,6 @@ class Polynomial(Expression): return 0 - - def differentiate(poly): return Polynomial( poly.base, @@ -309,7 +298,6 @@ def differentiate(poly): if not exp == 0)) - def integrate(poly): return Polynomial( poly.base, @@ -317,8 +305,6 @@ def integrate(poly): for exp, coeff in poly.data)) - - def integrate_definite(poly, a, b): antideriv = integrate(poly) a_bound = pymbolic.substitute(antideriv, {poly.base: a}) @@ -328,21 +314,15 @@ def integrate_definite(poly, a, b): return Sum((b_bound, -a_bound)) - - def leading_coefficient(poly): return poly.data[-1][1] - - def general_polynomial(base, coefflist, degree): return Polynomial(base, ((i, coefflist[i]) for i in range(degree+1))) - - class PolynomialTraits(EuclideanRingTraits): @staticmethod def norm(x): @@ -354,8 +334,6 @@ class PolynomialTraits(EuclideanRingTraits): return traits(lc).get_unit(lc) - - if __name__ == "__main__": x = Polynomial(pymbolic.var("x")) y = Polynomial(pymbolic.var("y")) diff --git a/pymbolic/primitives.py b/pymbolic/primitives.py index f1f3d7c..5239383 100644 --- a/pymbolic/primitives.py +++ b/pymbolic/primitives.py @@ -20,10 +20,9 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ +from sys import intern import pymbolic.traits as traits -import six -from six.moves import intern __doc__ = """ Expression base class @@ -1596,9 +1595,6 @@ def quotient(numerator, denominator): global VALID_CONSTANT_CLASSES global VALID_OPERANDS VALID_CONSTANT_CLASSES = (int, float, complex) -if six.PY2: - VALID_CONSTANT_CLASSES += (long,) # noqa pylint:disable=undefined-variable - VALID_OPERANDS = (Expression,) try: diff --git a/pymbolic/rational.py b/pymbolic/rational.py index 90d1b30..b150a54 100644 --- a/pymbolic/rational.py +++ b/pymbolic/rational.py @@ -20,7 +20,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ -from six.moves import intern +from sys import intern import pymbolic.primitives as primitives import pymbolic.traits as traits diff --git a/pymbolic/traits.py b/pymbolic/traits.py index c9e7e5b..4e47628 100644 --- a/pymbolic/traits.py +++ b/pymbolic/traits.py @@ -1,6 +1,3 @@ -import six -from functools import reduce - __copyright__ = "Copyright (C) 2009-2013 Andreas Kloeckner" __license__ = """ @@ -23,6 +20,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. """ +from functools import reduce from . import algorithm -- GitLab