From d7ee03d89beb409a0cf2cc902bb60a1348ad2f76 Mon Sep 17 00:00:00 2001 From: Wolfgang Kastaun <wolfgang.kastaun@aei.mpg.de> Date: Sat, 14 Dec 2024 13:18:50 +0100 Subject: [PATCH] fix faulty type annotations and improve others --- lisainstrument/dynamic_delay_dask.py | 30 ++++++++++++--------------- lisainstrument/dynamic_delay_numpy.py | 28 +++++++++++++------------ 2 files changed, 28 insertions(+), 30 deletions(-) diff --git a/lisainstrument/dynamic_delay_dask.py b/lisainstrument/dynamic_delay_dask.py index dd460e3..f2d59c3 100644 --- a/lisainstrument/dynamic_delay_dask.py +++ b/lisainstrument/dynamic_delay_dask.py @@ -5,7 +5,7 @@ Use make_dynamic_shift_lagrange_dask to create a Lagrange interpolator for dask from __future__ import annotations -from typing import Callable +from typing import Callable, Final import dask import dask.array as da @@ -18,11 +18,7 @@ from lisainstrument.dynamic_delay_numpy import ( RegularInterpMethod, ) from lisainstrument.fir_filters_dask import DaskArray1D, make_dask_array_1d -from lisainstrument.fir_filters_numpy import ( - EdgeHandling, - NumpyArray1D, - make_numpy_array_1d, -) +from lisainstrument.fir_filters_numpy import NumpyArray1D, make_numpy_array_1d class DynamicShiftDask: @@ -48,8 +44,8 @@ class DynamicShiftDask: self, min_delay: float, max_delay: float, - left_bound: EdgeHandling, - right_bound: EdgeHandling, + left_bound: DynShiftBC, + right_bound: DynShiftBC, interp: RegularInterpMethod, ): """Set up interpolation parameters @@ -66,12 +62,12 @@ class DynamicShiftDask: msg = f"dynamic_shift_dask: invalid delay range {min_delay=}, {max_delay=}" raise ValueError(msg) - self._min_delay = int(np.floor(min_delay)) - self._max_delay = int(np.ceil(max_delay)) + self._min_delay: Final[int] = int(np.floor(min_delay)) + self._max_delay: Final[int] = int(np.ceil(max_delay)) - self._left_bound = left_bound - self._right_bound = right_bound - self._interp_np = interp + self._left_bound: Final = left_bound + self._right_bound: Final = right_bound + self._interp_np: Final = interp def _op_interp( self, samp: np.ndarray, loc: np.ndarray, ofs: np.ndarray @@ -171,8 +167,8 @@ class DynamicShiftDask: def make_dynamic_shift_linear_dask( min_delay: float, max_delay: float, - left_bound: EdgeHandling, - right_bound: EdgeHandling, + left_bound: DynShiftBC, + right_bound: DynShiftBC, ) -> DynamicShiftDask: """Set up DynamicShiftDask instance with linear interpolation method. @@ -193,8 +189,8 @@ def make_dynamic_shift_lagrange_dask( length: int, min_delay: float, max_delay: float, - left_bound: EdgeHandling, - right_bound: EdgeHandling, + left_bound: DynShiftBC, + right_bound: DynShiftBC, ) -> DynamicShiftDask: """Set up DynamicShiftDask instance with Lagrange interpolation method. diff --git a/lisainstrument/dynamic_delay_numpy.py b/lisainstrument/dynamic_delay_numpy.py index 365ef5f..2a30cd9 100644 --- a/lisainstrument/dynamic_delay_numpy.py +++ b/lisainstrument/dynamic_delay_numpy.py @@ -8,7 +8,7 @@ from __future__ import annotations import functools import operator from enum import Enum -from typing import Callable, Protocol +from typing import Final, Protocol import numpy as np from numpy.polynomial import Polynomial @@ -181,9 +181,11 @@ class RegularInterpLagrange(RegularInterpMethod): raise ValueError(msg) offset = -((length - 1) // 2) - self._length: int = length - self._offset: int = offset - self._fir_filt = self._make_firs(length, offset) + self._length: Final[int] = length + self._offset: Final[int] = offset + self._fir_filt: Final[list[FilterFirNumpyType]] = self._make_firs( + length, offset + ) @property def margin_left(self) -> int: @@ -328,8 +330,8 @@ class DynamicShiftNumpy: self, min_delay: float, max_delay: float, - left_bound: EdgeHandling, - right_bound: EdgeHandling, + left_bound: DynShiftBC, + right_bound: DynShiftBC, interp: RegularInterpMethod, ): @@ -337,12 +339,12 @@ class DynamicShiftNumpy: msg = f"dynamic_shift_dask: invalid delay range {min_delay=}, {max_delay=}" raise ValueError(msg) - self._min_delay = int(np.floor(min_delay)) - self._max_delay = int(np.ceil(max_delay)) + self._min_delay: Final[int] = int(np.floor(min_delay)) + self._max_delay: Final[int] = int(np.ceil(max_delay)) - self._left_bound = left_bound - self._right_bound = right_bound - self._interp_np = interp + self._left_bound: Final = left_bound + self._right_bound: Final = right_bound + self._interp_np: Final = interp def _op_interp( self, samp: np.ndarray, loc: np.ndarray, ofs: np.ndarray @@ -436,8 +438,8 @@ def make_dynamic_shift_lagrange_numpy( length: int, min_delay: float, max_delay: float, - left_bound: EdgeHandling, - right_bound: EdgeHandling, + left_bound: DynShiftBC, + right_bound: DynShiftBC, ) -> DynamicShiftNumpy: """Set up DynamicShiftNumpy instance with Lagrange interpolation method. -- GitLab