@@ -994,7 +994,6 @@ def solve_circulant(
994
994
) -> onp .ArrayND [npc .inexact ]: ...
995
995
996
996
#
997
-
998
997
@overload # 2d bool sequence
999
998
def inv (a : Sequence [Sequence [bool ]], overwrite_a : bool = False , check_finite : bool = True ) -> onp .Array2D [np .float32 ]: ...
1000
999
@overload # Nd bool sequence
@@ -1036,32 +1035,30 @@ def inv(
1036
1035
a : onp .CanArrayND [np .complex128 | np .clongdouble , _ShapeT ], overwrite_a : bool = False , check_finite : bool = True
1037
1036
) -> onp .ArrayND [np .complex128 , _ShapeT ]: ...
1038
1037
1039
- # TODO(jorenham): improve this
1038
+ # NOTE: The order of the overloads has been carefully chosen to avoid triggering a Pyright bug.
1040
1039
@overload # +float64 2d
1041
1040
def det (a : onp .ToFloat64Strict2D , overwrite_a : bool = False , check_finite : bool = True ) -> np .float64 : ...
1042
- @overload # +float64 3d
1043
- def det (a : onp .ToFloat64Strict3D , overwrite_a : bool = False , check_finite : bool = True ) -> onp .Array1D [np .float64 ]: ...
1044
- @overload # +float64 ND
1045
- def det (a : onp .ToFloat64_ND , overwrite_a : bool = False , check_finite : bool = True ) -> np .float64 | onp .ArrayND [np .float64 ]: ...
1046
1041
@overload # complex128 | complex64 2d
1047
1042
def det (
1048
- a : onp .ToJustComplex128Strict2D | onp . CanArray2D [ np .complex64 ], overwrite_a : bool = False , check_finite : bool = True
1043
+ a : onp .ToArrayStrict2D [ op . JustComplex , np . complex128 | np .complex64 ], overwrite_a : bool = False , check_finite : bool = True
1049
1044
) -> np .complex128 : ...
1045
+ @overload # +float64 3d
1046
+ def det (a : onp .ToFloat64Strict3D , overwrite_a : bool = False , check_finite : bool = True ) -> onp .Array1D [np .float64 ]: ...
1050
1047
@overload # complex128 | complex64 3d
1051
1048
def det (
1052
- a : onp .ToJustComplex128Strict3D | onp . CanArray3D [ np .complex64 ], overwrite_a : bool = False , check_finite : bool = True
1049
+ a : onp .ToArrayStrict3D [ op . JustComplex , np . complex128 | np .complex64 ], overwrite_a : bool = False , check_finite : bool = True
1053
1050
) -> onp .Array1D [np .complex128 ]: ...
1051
+ @overload # +float64 ND
1052
+ def det (a : onp .ToFloat64_ND , overwrite_a : bool = False , check_finite : bool = True ) -> np .float64 | onp .ArrayND [np .float64 ]: ...
1054
1053
@overload # complex128 | complex64 Nd
1055
1054
def det (
1056
- a : onp .ToJustComplex128_ND , overwrite_a : bool = False , check_finite : bool = True
1055
+ a : onp .ToArrayND [ op . JustComplex , np . complex128 | np . complex64 ] , overwrite_a : bool = False , check_finite : bool = True
1057
1056
) -> np .complex128 | onp .ArrayND [np .complex128 ]: ...
1058
1057
@overload # +complex128 2d
1059
- def det (
1060
- a : onp .ToComplex128Strict2D | onp .CanArray2D [np .complex64 ], overwrite_a : bool = False , check_finite : bool = True
1061
- ) -> np .float64 | np .complex128 : ...
1058
+ def det (a : onp .ToComplex128Strict2D , overwrite_a : bool = False , check_finite : bool = True ) -> np .float64 | np .complex128 : ...
1062
1059
@overload # +complex128 3d
1063
1060
def det (
1064
- a : onp .ToComplex128Strict3D | onp . CanArray3D [ np . complex64 ] , overwrite_a : bool = False , check_finite : bool = True
1061
+ a : onp .ToComplex128Strict3D , overwrite_a : bool = False , check_finite : bool = True
1065
1062
) -> onp .Array1D [np .float64 | np .complex128 ]: ...
1066
1063
@overload # +complex128 Nd
1067
1064
def det (
0 commit comments