diff --git a/loopy/kernel/__init__.py b/loopy/kernel/__init__.py index 80a7ad03101bc67f39c89c6089aa6533d1886185..9096edcc0d7eb0111c393eb4cc5ed78405dba408 100644 --- a/loopy/kernel/__init__.py +++ b/loopy/kernel/__init__.py @@ -35,14 +35,13 @@ import islpy as isl from islpy import dim_type import re -from pytools import UniqueNameGenerator, generate_unique_names +from pytools import UniqueNameGenerator, generate_unique_names, natsorted from loopy.library.function import ( default_function_mangler, single_arg_function_mangler) from loopy.diagnostic import CannotBranchDomainTree, LoopyError -from loopy.tools import natsorted from loopy.diagnostic import StaticValueFindingError from loopy.kernel.data import filter_iname_tags_by_type from warnings import warn diff --git a/loopy/kernel/tools.py b/loopy/kernel/tools.py index 157099df5a2133baa109f24e8216d63577b5dcb4..bb6ae44c9bf8daefef5f6564fccbec58ba72a708 100644 --- a/loopy/kernel/tools.py +++ b/loopy/kernel/tools.py @@ -34,8 +34,7 @@ import numpy as np import islpy as isl from islpy import dim_type from loopy.diagnostic import LoopyError, warn_with_kernel -from pytools import memoize_on_first_arg -from loopy.tools import natsorted +from pytools import memoize_on_first_arg, natsorted import logging logger = logging.getLogger(__name__) diff --git a/loopy/tools.py b/loopy/tools.py index 33b6616f32fb6c5fa6e4517e137ef426a806fb3f..e16bac6b28d4800a6f15072885cf7366e4e40836 100644 --- a/loopy/tools.py +++ b/loopy/tools.py @@ -673,20 +673,4 @@ def is_interned(s): def intern_frozenset_of_ids(fs): return frozenset(intern(s) for s in fs) - -def natorder(key): - # Return natural ordering for strings, as opposed to dictionary order. - # E.g. will result in - # 'abc1' < 'abc9' < 'abc10' - # rather than - # 'abc1' < 'abc10' < 'abc9' - # Based on - # http://code.activestate.com/recipes/285264-natural-string-sorting/#c7 - import re - return [int(n) if n else s for n, s in re.findall(r'(\d+)|(\D+)', key)] - - -def natsorted(seq, key=lambda x: x): - return sorted(seq, key=lambda y: natorder(key(y))) - # vim: foldmethod=marker diff --git a/setup.py b/setup.py index 75d8b340e8ad98794a244f7e5da89e079870bd2b..92c16a0f5d03f84d87106b6ec9d25b95a00a5872 100644 --- a/setup.py +++ b/setup.py @@ -89,7 +89,7 @@ setup(name="loo.py", ], install_requires=[ - "pytools>=2018.4", + "pytools>=2020.1", "pymbolic>=2019.2", "genpy>=2016.1.2", "cgen>=2016.1",