From f6d62ad3a77d53834a9fb75e9fd126e2a9a2ed06 Mon Sep 17 00:00:00 2001 From: Frederik Hennig <frederik.hennig@fau.de> Date: Tue, 5 Mar 2024 13:43:54 +0100 Subject: [PATCH] move types module to root --- mypy.ini | 3 +++ src/pystencils/backend/arrays.py | 2 +- src/pystencils/backend/ast/expressions.py | 2 +- src/pystencils/backend/constants.py | 2 +- src/pystencils/backend/emission.py | 2 +- src/pystencils/backend/jit/cpu_extension_module.py | 4 ++-- src/pystencils/backend/kernelcreation/context.py | 4 ++-- src/pystencils/backend/kernelcreation/freeze.py | 2 +- src/pystencils/backend/kernelcreation/iteration_space.py | 2 +- src/pystencils/backend/kernelcreation/typification.py | 2 +- src/pystencils/backend/platforms/generic_cpu.py | 2 +- src/pystencils/backend/platforms/x86.py | 4 ++-- src/pystencils/backend/symbols.py | 2 +- .../backend/transformations/erase_anonymous_structs.py | 2 +- .../backend/transformations/vector_intrinsics.py | 2 +- src/pystencils/config.py | 2 +- src/pystencils/defaults.py | 2 +- src/pystencils/{backend => }/types/__init__.py | 0 src/pystencils/{backend => }/types/basic_types.py | 7 +++---- src/pystencils/{backend => }/types/exception.py | 0 src/pystencils/{backend => }/types/parsing.py | 0 src/pystencils/{backend => }/types/quick.py | 0 tests/nbackend/kernelcreation/test_options.py | 2 +- tests/nbackend/kernelcreation/test_typification.py | 4 ++-- tests/nbackend/test_code_printing.py | 2 +- tests/nbackend/test_constant_folding.py | 2 +- tests/nbackend/test_cpujit.py | 2 +- tests/nbackend/types/test_constants.py | 4 ++-- tests/nbackend/types/test_types.py | 6 +++--- 29 files changed, 36 insertions(+), 34 deletions(-) rename src/pystencils/{backend => }/types/__init__.py (100%) rename src/pystencils/{backend => }/types/basic_types.py (99%) rename src/pystencils/{backend => }/types/exception.py (100%) rename src/pystencils/{backend => }/types/parsing.py (100%) rename src/pystencils/{backend => }/types/quick.py (100%) diff --git a/mypy.ini b/mypy.ini index 999a7e590..8e9fe0833 100644 --- a/mypy.ini +++ b/mypy.ini @@ -8,6 +8,9 @@ ignore_errors=true [mypy-pystencils.backend.*] ignore_errors = False +[mypy-pystencils.types.*] +ignore_errors = False + [mypy-setuptools.*] ignore_missing_imports=true diff --git a/src/pystencils/backend/arrays.py b/src/pystencils/backend/arrays.py index be159bcae..ccefa1d78 100644 --- a/src/pystencils/backend/arrays.py +++ b/src/pystencils/backend/arrays.py @@ -43,7 +43,7 @@ from types import EllipsisType from abc import ABC from .constants import PsConstant -from .types import ( +from ..types import ( PsAbstractType, PsPointerType, PsIntegerType, diff --git a/src/pystencils/backend/ast/expressions.py b/src/pystencils/backend/ast/expressions.py index a4b784dc4..0db3d98b6 100644 --- a/src/pystencils/backend/ast/expressions.py +++ b/src/pystencils/backend/ast/expressions.py @@ -6,7 +6,7 @@ from ..symbols import PsSymbol from ..constants import PsConstant from ..arrays import PsLinearizedArray, PsArrayBasePointer from ..functions import PsFunction -from ..types import ( +from ...types import ( PsAbstractType, PsScalarType, PsVectorType, diff --git a/src/pystencils/backend/constants.py b/src/pystencils/backend/constants.py index 2ebe855ae..6e76f6dbb 100644 --- a/src/pystencils/backend/constants.py +++ b/src/pystencils/backend/constants.py @@ -1,6 +1,6 @@ from typing import Any -from .types import PsNumericType, constify +from ..types import PsNumericType, constify from .exceptions import PsInternalCompilerError diff --git a/src/pystencils/backend/emission.py b/src/pystencils/backend/emission.py index 829ffb53a..cd8b09303 100644 --- a/src/pystencils/backend/emission.py +++ b/src/pystencils/backend/emission.py @@ -30,7 +30,7 @@ from .ast.expressions import ( PsCast, ) -from .types import PsScalarType +from ..types import PsScalarType from .ast.kernelfunction import PsKernelFunction diff --git a/src/pystencils/backend/jit/cpu_extension_module.py b/src/pystencils/backend/jit/cpu_extension_module.py index ce0ab049b..060aab788 100644 --- a/src/pystencils/backend/jit/cpu_extension_module.py +++ b/src/pystencils/backend/jit/cpu_extension_module.py @@ -20,13 +20,13 @@ from ..arrays import ( PsArrayShapeSymbol, PsArrayStrideSymbol, ) -from ..types import ( +from ...types import ( PsAbstractType, PsUnsignedIntegerType, PsSignedIntegerType, PsIeeeFloatType, ) -from ..types.quick import Fp, SInt, UInt +from ...types.quick import Fp, SInt, UInt from ..emission import emit_code diff --git a/src/pystencils/backend/kernelcreation/context.py b/src/pystencils/backend/kernelcreation/context.py index ba6574090..9ebc913d5 100644 --- a/src/pystencils/backend/kernelcreation/context.py +++ b/src/pystencils/backend/kernelcreation/context.py @@ -10,8 +10,8 @@ from ...sympyextensions.typed_sympy import TypedSymbol, BasicType, StructType from ..symbols import PsSymbol from ..arrays import PsLinearizedArray -from ..types import PsAbstractType, PsIntegerType, PsNumericType -from ..types.quick import make_type +from ...types import PsAbstractType, PsIntegerType, PsNumericType +from ...types.quick import make_type from ..constraints import PsKernelParamsConstraint from ..exceptions import PsInternalCompilerError, KernelConstraintsError diff --git a/src/pystencils/backend/kernelcreation/freeze.py b/src/pystencils/backend/kernelcreation/freeze.py index b69c6c2dd..d0bca50a0 100644 --- a/src/pystencils/backend/kernelcreation/freeze.py +++ b/src/pystencils/backend/kernelcreation/freeze.py @@ -27,7 +27,7 @@ from ..ast.expressions import ( ) from ..constants import PsConstant -from ..types import constify, make_type, PsAbstractType, PsStructType +from ...types import constify, make_type, PsAbstractType, PsStructType from ..exceptions import PsInputError from ..functions import PsMathFunction, MathFunctions diff --git a/src/pystencils/backend/kernelcreation/iteration_space.py b/src/pystencils/backend/kernelcreation/iteration_space.py index 7d99b47ca..2215c7e6a 100644 --- a/src/pystencils/backend/kernelcreation/iteration_space.py +++ b/src/pystencils/backend/kernelcreation/iteration_space.py @@ -16,7 +16,7 @@ from ..constants import PsConstant from ..ast.expressions import PsExpression, PsConstantExpr from ..arrays import PsLinearizedArray from ..ast.util import failing_cast -from ..types import PsStructType, constify +from ...types import PsStructType, constify from ..exceptions import PsInputError, KernelConstraintsError if TYPE_CHECKING: diff --git a/src/pystencils/backend/kernelcreation/typification.py b/src/pystencils/backend/kernelcreation/typification.py index 9e49ef758..5c041fb2a 100644 --- a/src/pystencils/backend/kernelcreation/typification.py +++ b/src/pystencils/backend/kernelcreation/typification.py @@ -3,7 +3,7 @@ from __future__ import annotations from typing import TypeVar from .context import KernelCreationContext -from ..types import PsAbstractType, PsNumericType, PsStructType, deconstify +from ...types import PsAbstractType, PsNumericType, PsStructType, deconstify from ..ast.structural import PsAstNode, PsBlock, PsLoop, PsExpression, PsAssignment from ..ast.expressions import ( PsSymbolExpr, diff --git a/src/pystencils/backend/platforms/generic_cpu.py b/src/pystencils/backend/platforms/generic_cpu.py index 8f8c0fab8..d512153a6 100644 --- a/src/pystencils/backend/platforms/generic_cpu.py +++ b/src/pystencils/backend/platforms/generic_cpu.py @@ -18,7 +18,7 @@ from ..ast.expressions import ( PsVectorArrayAccess, PsLookup, ) -from ..types import PsVectorType, PsCustomType +from ...types import PsVectorType, PsCustomType from ..transformations.vector_intrinsics import IntrinsicOps diff --git a/src/pystencils/backend/platforms/x86.py b/src/pystencils/backend/platforms/x86.py index 7fa92c16d..7b42c4890 100644 --- a/src/pystencils/backend/platforms/x86.py +++ b/src/pystencils/backend/platforms/x86.py @@ -10,12 +10,12 @@ from ..ast.expressions import ( PsSubscript, ) from ..transformations.vector_intrinsics import IntrinsicOps -from ..types import PsCustomType, PsVectorType +from ...types import PsCustomType, PsVectorType from ..constants import PsConstant from .generic_cpu import GenericVectorCpu, IntrinsicsError -from ..types.quick import Fp, SInt +from ...types.quick import Fp, SInt from ..functions import CFunction diff --git a/src/pystencils/backend/symbols.py b/src/pystencils/backend/symbols.py index d4ff5eafd..7b266d05c 100644 --- a/src/pystencils/backend/symbols.py +++ b/src/pystencils/backend/symbols.py @@ -1,4 +1,4 @@ -from .types import PsAbstractType, PsTypeError +from ..types import PsAbstractType, PsTypeError from .exceptions import PsInternalCompilerError diff --git a/src/pystencils/backend/transformations/erase_anonymous_structs.py b/src/pystencils/backend/transformations/erase_anonymous_structs.py index ebaeecdd7..ecca07aea 100644 --- a/src/pystencils/backend/transformations/erase_anonymous_structs.py +++ b/src/pystencils/backend/transformations/erase_anonymous_structs.py @@ -13,7 +13,7 @@ from ..ast.expressions import ( PsCast, ) from ..arrays import PsArrayBasePointer, TypeErasedBasePointer -from ..types import PsStructType, PsPointerType +from ...types import PsStructType, PsPointerType class EraseAnonymousStructTypes: diff --git a/src/pystencils/backend/transformations/vector_intrinsics.py b/src/pystencils/backend/transformations/vector_intrinsics.py index d2f58d2c3..e587ba129 100644 --- a/src/pystencils/backend/transformations/vector_intrinsics.py +++ b/src/pystencils/backend/transformations/vector_intrinsics.py @@ -4,7 +4,7 @@ from enum import Enum, auto from ..ast.structural import PsAstNode, PsAssignment, PsStatement from ..ast.expressions import PsExpression -from ..types import PsVectorType, deconstify +from ...types import PsVectorType, deconstify from ..ast.expressions import ( PsVectorArrayAccess, PsSymbolExpr, diff --git a/src/pystencils/config.py b/src/pystencils/config.py index 1e811f231..300123a75 100644 --- a/src/pystencils/config.py +++ b/src/pystencils/config.py @@ -6,7 +6,7 @@ from .field import Field, FieldType from .backend.jit import JitBase from .backend.exceptions import PsOptionsError -from .backend.types import PsIntegerType, PsNumericType, PsIeeeFloatType +from .types import PsIntegerType, PsNumericType, PsIeeeFloatType from .defaults import DEFAULTS diff --git a/src/pystencils/defaults.py b/src/pystencils/defaults.py index a031fd58c..16357fe73 100644 --- a/src/pystencils/defaults.py +++ b/src/pystencils/defaults.py @@ -1,5 +1,5 @@ from typing import TypeVar, Generic, Callable -from .backend.types import PsAbstractType, PsIeeeFloatType, PsSignedIntegerType, PsStructType +from .types import PsAbstractType, PsIeeeFloatType, PsSignedIntegerType, PsStructType from pystencils.sympyextensions.typed_sympy import TypedSymbol diff --git a/src/pystencils/backend/types/__init__.py b/src/pystencils/types/__init__.py similarity index 100% rename from src/pystencils/backend/types/__init__.py rename to src/pystencils/types/__init__.py diff --git a/src/pystencils/backend/types/basic_types.py b/src/pystencils/types/basic_types.py similarity index 99% rename from src/pystencils/backend/types/basic_types.py rename to src/pystencils/types/basic_types.py index 8b7fdf794..947895e2c 100644 --- a/src/pystencils/backend/types/basic_types.py +++ b/src/pystencils/types/basic_types.py @@ -7,7 +7,6 @@ from copy import copy import numpy as np from .exception import PsTypeError -from ..exceptions import PsInternalCompilerError class PsAbstractType(ABC): @@ -198,7 +197,7 @@ class PsStructType(PsAbstractType): @property def name(self) -> str: if self._name is None: - raise PsInternalCompilerError( + raise PsTypeError( "Cannot retrieve name from anonymous struct type" ) return self._name @@ -218,7 +217,7 @@ class PsStructType(PsAbstractType): def c_string(self) -> str: if self._name is None: - raise PsInternalCompilerError( + raise PsTypeError( "Cannot retrieve C string for anonymous struct type" ) return self._name @@ -399,7 +398,7 @@ class PsVectorType(PsNumericType): ) def c_string(self) -> str: - raise PsInternalCompilerError( + raise PsTypeError( "Cannot retrieve C type string for generic vector types." ) diff --git a/src/pystencils/backend/types/exception.py b/src/pystencils/types/exception.py similarity index 100% rename from src/pystencils/backend/types/exception.py rename to src/pystencils/types/exception.py diff --git a/src/pystencils/backend/types/parsing.py b/src/pystencils/types/parsing.py similarity index 100% rename from src/pystencils/backend/types/parsing.py rename to src/pystencils/types/parsing.py diff --git a/src/pystencils/backend/types/quick.py b/src/pystencils/types/quick.py similarity index 100% rename from src/pystencils/backend/types/quick.py rename to src/pystencils/types/quick.py diff --git a/tests/nbackend/kernelcreation/test_options.py b/tests/nbackend/kernelcreation/test_options.py index 8d145da75..7fa7fc513 100644 --- a/tests/nbackend/kernelcreation/test_options.py +++ b/tests/nbackend/kernelcreation/test_options.py @@ -1,7 +1,7 @@ import pytest from pystencils.field import Field, FieldType -from pystencils.backend.types.quick import * +from pystencils.types.quick import * from pystencils.config import ( CreateKernelConfig, PsOptionsError, diff --git a/tests/nbackend/kernelcreation/test_typification.py b/tests/nbackend/kernelcreation/test_typification.py index 9b9aba35d..9f49b2ed0 100644 --- a/tests/nbackend/kernelcreation/test_typification.py +++ b/tests/nbackend/kernelcreation/test_typification.py @@ -6,8 +6,8 @@ from pystencils import Assignment, TypedSymbol, Field, FieldType from pystencils.backend.ast.structural import PsDeclaration from pystencils.backend.ast.expressions import PsConstantExpr, PsSymbolExpr, PsBinOp -from pystencils.backend.types import constify -from pystencils.backend.types.quick import Fp, make_numeric_type +from pystencils.types import constify +from pystencils.types.quick import Fp, make_numeric_type from pystencils.backend.kernelcreation.context import KernelCreationContext from pystencils.backend.kernelcreation.freeze import FreezeExpressions from pystencils.backend.kernelcreation.typification import Typifier, TypificationError diff --git a/tests/nbackend/test_code_printing.py b/tests/nbackend/test_code_printing.py index be690db7c..9480cbdf3 100644 --- a/tests/nbackend/test_code_printing.py +++ b/tests/nbackend/test_code_printing.py @@ -6,7 +6,7 @@ from pystencils.backend.ast.kernelfunction import PsKernelFunction from pystencils.backend.symbols import PsSymbol from pystencils.backend.constants import PsConstant from pystencils.backend.arrays import PsLinearizedArray, PsArrayBasePointer -from pystencils.backend.types.quick import Fp, SInt, UInt +from pystencils.types.quick import Fp, SInt, UInt from pystencils.backend.emission import CAstPrinter diff --git a/tests/nbackend/test_constant_folding.py b/tests/nbackend/test_constant_folding.py index b71b36ea8..ee214ff53 100644 --- a/tests/nbackend/test_constant_folding.py +++ b/tests/nbackend/test_constant_folding.py @@ -1,7 +1,7 @@ # TODO: Reimplement for constant folder # import pytest -# from pystencils.backend.types.quick import * +# from pystencils.types.quick import * # from pystencils.backend.constants import PsConstant diff --git a/tests/nbackend/test_cpujit.py b/tests/nbackend/test_cpujit.py index 1163c40ce..bf17b9812 100644 --- a/tests/nbackend/test_cpujit.py +++ b/tests/nbackend/test_cpujit.py @@ -11,7 +11,7 @@ from pystencils.backend.ast.expressions import PsArrayAccess, PsExpression from pystencils.backend.ast.structural import PsAssignment, PsBlock, PsLoop from pystencils.backend.ast.kernelfunction import PsKernelFunction -from pystencils.backend.types.quick import SInt, Fp +from pystencils.types.quick import SInt, Fp from pystencils.backend.jit import LegacyCpuJit import numpy as np diff --git a/tests/nbackend/types/test_constants.py b/tests/nbackend/types/test_constants.py index 4353973f5..4d948e4e3 100644 --- a/tests/nbackend/types/test_constants.py +++ b/tests/nbackend/types/test_constants.py @@ -1,8 +1,8 @@ # import pytest # TODO: Re-implement for constant folder -# from pystencils.backend.types.quick import * -# from pystencils.backend.types import PsTypeError +# from pystencils.types.quick import * +# from pystencils.types import PsTypeError # from pystencils.backend.typed_expressions import PsTypedConstant diff --git a/tests/nbackend/types/test_types.py b/tests/nbackend/types/test_types.py index 9726fac47..5f11cd081 100644 --- a/tests/nbackend/types/test_types.py +++ b/tests/nbackend/types/test_types.py @@ -2,8 +2,8 @@ import pytest import numpy as np from pystencils.backend.exceptions import PsInternalCompilerError -from pystencils.backend.types import * -from pystencils.backend.types.quick import * +from pystencils.types import * +from pystencils.types.quick import * @pytest.mark.parametrize( @@ -119,5 +119,5 @@ def test_struct_types(): assert t.anonymous assert str(t) == "<anonymous>" - with pytest.raises(PsInternalCompilerError): + with pytest.raises(PsTypeError): t.c_string() -- GitLab