From 9d97d44fb30ec9a5c44e7b01d2d72fa87b5fd296 Mon Sep 17 00:00:00 2001 From: Matt Wala <wala1@illinois.edu> Date: Tue, 2 Jun 2020 23:20:50 -0500 Subject: [PATCH] Linter fixes --- pytato/array.py | 10 ++++------ pytato/symbolic.py | 34 +++++++++++++++++----------------- setup.cfg | 12 +++++------- 3 files changed, 26 insertions(+), 30 deletions(-) diff --git a/pytato/array.py b/pytato/array.py index fae2030..061bf82 100644 --- a/pytato/array.py +++ b/pytato/array.py @@ -87,7 +87,7 @@ Node constructors such as :class:`Placeholder.__init__` and import numpy as np import pymbolic.primitives as prim -import pytato.symbolic as scalar_expr +import pytato.symbolic as sym from pytato.symbolic import ScalarExpression from dataclasses import dataclass @@ -267,7 +267,7 @@ def _check_identifier(s: str, ns: Optional[Namespace] = None) -> bool: return True -class _ShapeChecker(scalar_expr.WalkMapper): +class _ShapeChecker(sym.WalkMapper): def __init__(self, ns: Optional[Namespace] = None): super().__init__() self.ns = ns @@ -285,12 +285,10 @@ def normalize_shape( :param ns: if a namespace is given, extra checks are performed to ensure that expressions are well-defined. """ - from pytato.scalar_expr import parse - def normalize_shape_component( s: ConvertibleToShapeComponent) -> ScalarExpression: if isinstance(s, str): - s = parse(s) + s = sym.parse(s) if isinstance(s, int): if s < 0: @@ -303,7 +301,7 @@ def normalize_shape( return s if isinstance(shape, str): - shape = parse(shape) + shape = sym.parse(shape) from numbers import Number if isinstance(shape, (Number, prim.Expression)): diff --git a/pytato/symbolic.py b/pytato/symbolic.py index a6cee3d..8a6799c 100644 --- a/pytato/symbolic.py +++ b/pytato/symbolic.py @@ -28,16 +28,14 @@ from numbers import Number from typing import Any, Union, Mapping, FrozenSet, Set, Tuple import islpy as isl -from pymbolic.mapper import ( - WalkMapper as WalkMapperBase, - IdentityMapper as IdentityMapperBase) -from pymbolic.mapper.substitutor import ( - SubstitutionMapper as SubstitutionMapperBase) -from pymbolic.mapper.dependency import ( - DependencyMapper as DependencyMapperBase) +from pymbolic.mapper import (WalkMapper as WalkMapperBase, IdentityMapper as + IdentityMapperBase) +from pymbolic.mapper.substitutor import (SubstitutionMapper as + SubstitutionMapperBase) +from pymbolic.mapper.dependency import (DependencyMapper as + DependencyMapperBase) import pymbolic.primitives as prim - __doc__ = """ .. currentmodule:: pytato.symbolic @@ -55,7 +53,6 @@ Symbolic Infrastructure """ - # {{{ scalar expressions ScalarExpression = Union[Number, prim.Expression] @@ -65,11 +62,12 @@ def parse(s: str) -> ScalarExpression: from pymbolic.parser import Parser return Parser()(s) -# }}} +# }}} # {{{ mapper classes + class WalkMapper(WalkMapperBase): pass @@ -85,11 +83,12 @@ class SubstitutionMapper(SubstitutionMapperBase): class DependencyMapper(DependencyMapperBase): pass -# }}} +# }}} # {{{ mapper frontends + def get_dependencies(expression: Any) -> FrozenSet[str]: """Return the set of variable names in an expression. @@ -108,10 +107,12 @@ def substitute(expression: Any, variable_assigments: Mapping[str, Any]) -> Any: from pymbolic.mapper.substitutor import make_subst_func return SubstitutionMapper(make_subst_func(variable_assigments))(expression) + # }}} -def domain_for_shape(dim_names: Tuple[str, ...], shape: Tuple[ScalarExpression, ...]) -> isl.BasicSet: +def domain_for_shape(dim_names: Tuple[str, ...], shape: Tuple[ScalarExpression, + ...]) -> isl.BasicSet: """Create a :class:`islpy.BasicSet` that expresses an appropriate index domain for an array of (potentially symbolic) shape *shape*. @@ -124,7 +125,7 @@ def domain_for_shape(dim_names: Tuple[str, ...], shape: Tuple[ScalarExpression, *dim_names*. """ assert len(dim_names) == len(shape) - + # Collect parameters. param_names_set: Set[str] = set() for sdep in map(get_dependencies, shape): @@ -135,10 +136,9 @@ def domain_for_shape(dim_names: Tuple[str, ...], shape: Tuple[ScalarExpression, # Build domain. dom = isl.BasicSet.universe( - isl.Space.create_from_names( - isl.DEFAULT_CONTEXT, - set=set_names, - params=param_names)) + isl.Space.create_from_names(isl.DEFAULT_CONTEXT, + set=set_names, + params=param_names)) # Add constraints. from loopy.symbolic import aff_from_expr diff --git a/setup.cfg b/setup.cfg index b975cd3..e071c15 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,23 +2,21 @@ ignore = E126,E127,E128,E123,E226,E241,E242,E265,N802,W503,E402,N814,N817,W504 max-line-length=85 -[mypy-pytato.scalar_expr] +[mypy-pytato.symbolic] disallow_subclassing_any = False -[mypy-pymbolic] +[mypy-islpy] ignore_missing_imports = True -[mypy-pymbolic.primitives] +[mypy-loopy.*] ignore_missing_imports = True -[mypy-pymbolic.mapper] +[mypy-numpy] ignore_missing_imports = True -[mypy-pymbolic.parser] +[mypy-pymbolic.*] ignore_missing_imports = True [mypy-pytools] ignore_missing_imports = True -[mypy-numpy] -ignore_missing_imports = True -- GitLab