diff --git a/mypy.ini b/mypy.ini index 999a7e5904e2df44d08d8fd449465c56a970fa21..8e9fe08334a08d8ab0a272f114d4a719d81398ed 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 be159bcaee50db472cd04e8cf15d8cd4f384f59a..ccefa1d7816911a0cf8b04cc5f604181f1ccca65 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 a4b784dc441617e86fd542787815b488b75ea5cb..0db3d98b62ba64db1cb5c1c2a672b6ad60374c2f 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 2ebe855aeddc3ab02ce3a06c4541e4d3837606e7..6e76f6dbb18654888a228f4730319b94fedeace1 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 829ffb53af3fa2e85df110b0c570921e3af94ee9..cd8b09303fb19b4dda41842857b7697f7c17be65 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 ce0ab049b81d7b2a1d367d005b8a51997a2edc1e..060aab78883b2e3d69bfad1f707fc30cb78a1c98 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 ba6574090969fa26f4e138adb750170218a6f0a4..9ebc913d5a60e956c9f4af2a64cb3c5cd78f7aa6 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 b69c6c2dd45d141fca5ec3f24019a95f4800cf12..d0bca50a0bd44ebe1f9d914d33efc8a280080fa6 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 7d99b47ca9a4cc8ee13cd5cdb036978965c504ea..2215c7e6af6d5ee6f1cc2fbe985b4d3756cd06ea 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 9e49ef75871a0690aea17fd7bd9f76c51f84c121..5c041fb2a74dde777002c8f3fea18db85bd4d704 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 8f8c0fab87d623ebb1e2e398554fe567da8e8af7..d512153a6e7c2c8a22821f5a1f6b596af1addc6c 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 7fa92c16d3e599fe275b6a6d9683ca66d9050a01..7b42c48903c94b6d6971b22cd15beba377c73e25 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 d4ff5eafd071d4690d8ead4f9db83d7fa62f759d..7b266d05c41747a99930305640facb63e4532782 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 ebaeecdd725bc7ffced8c293d2820c17898cebc5..ecca07aea426f0b4455f258c36616861385bf7a2 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 d2f58d2c3d8a74a7b72bbfca4ca4c1a7cbaf4c29..e587ba129836817e719f0dd27e72cddde8c76013 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 1e811f231f4e89e6bf54c6d0095dd02a3530e5af..300123a75642037e278dd7b12343c435729d35e0 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 a031fd58cd029983d78ef3e441b03acfc49801ca..16357fe737b3f4265284c05f458aa4dbb1c490a3 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 8b7fdf794facbe78443cff9ac5a8f98f9c7a1a25..947895e2cccaad34592984e189f32efb13346a51 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 8d145da752b2625d7e02bf47e3e3944d4343933e..7fa7fc5131c657da7b9faa5fb983330e6fde8964 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 9b9aba35d220c8824b2530a44034d1d4696442dd..9f49b2ed08dcc87b0071e9539caf1ead5c4725b4 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 be690db7cae32aa68c1394a68c126c2fc7c1b2c3..9480cbdf3b441314dc75640674cc30a25a9804af 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 b71b36ea86de344a54309227e3f104fdefd685e3..ee214ff53a6243f44da11ec91a54e5fa2cd0066c 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 1163c40ceea55728d66e49f718388887d4097ff3..bf17b981222279d04e6bf0188fc793e5244f8cc0 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 4353973f5f6ab9b9ff6db4d30f955c3376f1beb8..4d948e4e3d7238c87b849e7e787dee138320a94d 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 9726fac47cfb38b61903e518b04c86ea2b69bc80..5f11cd0815f8865172036b381b3b1e87d16275eb 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()