modernize type annotations

This commit is contained in:
Jan Petykiewicz 2024-07-29 00:29:39 -07:00
parent d5fca741d1
commit 43f038d761
12 changed files with 23 additions and 16 deletions

View File

@ -1,7 +1,7 @@
"""
Solvers for eigenvalue / eigenvector problems
"""
from typing import Callable
from collections.abc import Callable
import numpy
from numpy.typing import NDArray, ArrayLike
from numpy.linalg import norm

View File

@ -94,7 +94,8 @@ This module contains functions for generating and solving the
"""
from typing import Callable, Any, cast, Sequence
from typing import Any, cast
from collections.abc import Callable, Sequence
import logging
import numpy
from numpy import pi, real, trace

View File

@ -1,7 +1,8 @@
"""
Functions for performing near-to-farfield transformation (and the reverse).
"""
from typing import Any, Sequence, cast
from typing import Any, cast
from collections.abc import Sequence
import numpy
from numpy.fft import fft2, fftshift, fftfreq, ifft2, ifftshift
from numpy import pi

View File

@ -5,7 +5,7 @@ Functional versions of many FDFD operators. These can be useful for performing
The functions generated here expect `cfdfield_t` inputs with shape (3, X, Y, Z),
e.g. E = [E_x, E_y, E_z] where each (complex) component has shape (X, Y, Z)
"""
from typing import Callable
from collections.abc import Callable
import numpy
from ..fdmath import dx_lists_t, fdfield_t, cfdfield_t, cfdfield_updater_t

View File

@ -2,7 +2,7 @@
Functions for creating stretched coordinate perfectly matched layer (PML) absorbers.
"""
from typing import Sequence, Callable
from collections.abc import Sequence, Callable
import numpy
from numpy.typing import NDArray

View File

@ -2,7 +2,8 @@
Solvers and solver interface for FDFD problems.
"""
from typing import Callable, Dict, Any, Optional
from typing import Any
from collections.abc import Callable
import logging
import numpy
@ -68,12 +69,12 @@ def generic(
dxes: dx_lists_t,
J: vcfdfield_t,
epsilon: vfdfield_t,
mu: Optional[vfdfield_t] = None,
pec: Optional[vfdfield_t] = None,
pmc: Optional[vfdfield_t] = None,
mu: vfdfield_t | None = None,
pec: vfdfield_t | None = None,
pmc: vfdfield_t | None = None,
adjoint: bool = False,
matrix_solver: Callable[..., ArrayLike] = _scipy_qmr,
matrix_solver_opts: Optional[Dict[str, Any]] = None,
matrix_solver_opts: dict[str, Any] | None = None,
) -> vcfdfield_t:
"""
Conjugate gradient FDFD solver using CSR sparse matrices.

View File

@ -4,7 +4,8 @@ Tools for working with waveguide modes in 3D domains.
This module relies heavily on `waveguide_2d` and mostly just transforms
its parameters into 2D equivalents and expands the results back into 3D.
"""
from typing import Sequence, Any
from typing import Any
from collections.abc import Sequence
import numpy
from numpy.typing import NDArray
from numpy import complexfloating

View File

@ -3,7 +3,8 @@ Math functions for finite difference simulations
Basic discrete calculus etc.
"""
from typing import Sequence, Callable
from typing import TypeVar
from collections.abc import Sequence, Callable
import numpy
from numpy.typing import NDArray

View File

@ -3,7 +3,7 @@ Matrix operators for finite difference simulations
Basic discrete calculus etc.
"""
from typing import Sequence
from collections.abc import Sequence
import numpy
from numpy.typing import NDArray
from numpy import floating

View File

@ -1,7 +1,7 @@
"""
Types shared across multiple submodules
"""
from typing import Sequence, Callable, MutableSequence
from collections.abc import Sequence, Callable, MutableSequence
from numpy.typing import NDArray
from numpy import floating, complexfloating

View File

@ -4,7 +4,8 @@ and a 1D array representation of that field `[f_x0, f_x1, f_x2,... f_y0,... f_z0
Vectorized versions of the field use row-major (ie., C-style) ordering.
"""
from typing import overload, Sequence
from typing import overload
from collections.abc import Sequence
import numpy
from numpy.typing import ArrayLike

View File

@ -7,7 +7,8 @@ PML implementations
"""
# TODO retest pmls!
from typing import Callable, Sequence, Any
from typing import Any
from collections.abc import Callable, Sequence
from copy import deepcopy
import numpy
from numpy.typing import NDArray, DTypeLike