1
- from typing import Any , Final , TypeAlias
1
+ from typing import Final , TypeAlias , overload
2
2
3
3
import numpy as np
4
4
import optype as op
@@ -11,65 +11,131 @@ _Complex: TypeAlias = np.complex128 | np.clongdouble
11
11
###
12
12
13
13
class CZT :
14
- w : Final [onp . ToComplex ]
15
- a : Final [onp . ToComplex ]
16
- m : Final [int | np . integer [ Any ] ]
17
- n : Final [int | np . integer [ Any ] ]
14
+ w : Final [complex | np . complex128 ]
15
+ a : Final [complex | np . complex128 ]
16
+ m : Final [int ]
17
+ n : Final [int ]
18
18
19
19
def __init__ (
20
20
self ,
21
21
/ ,
22
- n : onp . ToJustInt ,
23
- m : onp . ToJustInt | None = None ,
24
- w : onp . ToComplex | None = None ,
25
- a : onp . ToComplex = 1 + 0j ,
22
+ n : int ,
23
+ m : int | None = None ,
24
+ w : complex | np . complex128 | None = None ,
25
+ a : complex | np . complex128 = 1 + 0j ,
26
26
) -> None : ...
27
- def __call__ (self , / , x : onp .ToComplexND , * , axis : int = - 1 ) -> onp .ArrayND [_Complex ]: ...
28
- def points (self , / ) -> onp .Array1D [_Complex ]: ...
27
+ @overload
28
+ def __call__ (self , / , x : onp .ToComplexStrict1D , * , axis : op .CanIndex = - 1 ) -> onp .Array1D [_Complex ]: ...
29
+ @overload
30
+ def __call__ (self , / , x : onp .ToComplexStrict2D , * , axis : op .CanIndex = - 1 ) -> onp .Array2D [_Complex ]: ...
31
+ @overload
32
+ def __call__ (self , / , x : onp .ToComplexStrict3D , * , axis : op .CanIndex = - 1 ) -> onp .Array3D [_Complex ]: ...
33
+ @overload
34
+ def __call__ (self , / , x : onp .ToComplexND , * , axis : op .CanIndex = - 1 ) -> onp .ArrayND [_Complex ]: ...
35
+ def points (self , / ) -> onp .Array1D [np .complex128 ]: ...
29
36
30
37
class ZoomFFT (CZT ):
31
38
f1 : onp .ToFloat
32
39
f2 : onp .ToFloat
33
- fs : onp . ToFloat
40
+ fs : float | np . float64
34
41
35
42
def __init__ (
36
43
self ,
37
44
/ ,
38
- n : onp . ToJustInt ,
39
- fn : onp . ToFloat | onp .ToFloat1D ,
40
- m : onp . ToJustInt | None = None ,
45
+ n : int ,
46
+ fn : float | np . float64 | onp .ToFloat1D ,
47
+ m : int | None = None ,
41
48
* ,
42
- fs : onp . ToFloat = 2 ,
49
+ fs : float | np . float64 = 2 ,
43
50
endpoint : onp .ToBool = False ,
44
51
) -> None : ...
45
52
46
53
#
47
- def _validate_sizes (n : onp . ToJustInt , m : onp . ToJustInt | None ) -> int | np . integer [ Any ] : ...
54
+ def _validate_sizes (n : int , m : int | None ) -> int : ...
48
55
49
56
#
50
57
def czt_points (
51
- m : onp . ToJustInt ,
52
- w : onp . ToComplex | None = None ,
53
- a : onp . ToComplex = 1 + 0j ,
54
- ) -> onp .Array1D [_Complex ]: ...
58
+ m : int ,
59
+ w : complex | np . complex128 | None = None ,
60
+ a : complex | np . complex128 = 1 + 0j ,
61
+ ) -> onp .Array1D [np . complex128 ]: ...
55
62
56
63
#
64
+ @overload
65
+ def czt (
66
+ x : onp .ToComplexStrict1D ,
67
+ m : int | None = None ,
68
+ w : complex | np .complex128 | None = None ,
69
+ a : complex | np .complex128 = 1 + 0j ,
70
+ * ,
71
+ axis : op .CanIndex = - 1 ,
72
+ ) -> onp .Array1D [_Complex ]: ...
73
+ @overload
74
+ def czt (
75
+ x : onp .ToComplexStrict2D ,
76
+ m : int | None = None ,
77
+ w : complex | np .complex128 | None = None ,
78
+ a : complex | np .complex128 = 1 + 0j ,
79
+ * ,
80
+ axis : op .CanIndex = - 1 ,
81
+ ) -> onp .Array2D [_Complex ]: ...
82
+ @overload
83
+ def czt (
84
+ x : onp .ToComplexStrict3D ,
85
+ m : int | None = None ,
86
+ w : complex | np .complex128 | None = None ,
87
+ a : complex | np .complex128 = 1 + 0j ,
88
+ * ,
89
+ axis : op .CanIndex = - 1 ,
90
+ ) -> onp .Array3D [_Complex ]: ...
91
+ @overload
57
92
def czt (
58
93
x : onp .ToComplexND ,
59
- m : onp . ToJustInt | None = None ,
60
- w : onp . ToComplex | None = None ,
61
- a : onp . ToComplex = 1 + 0j ,
94
+ m : int | None = None ,
95
+ w : complex | np . complex128 | None = None ,
96
+ a : complex | np . complex128 = 1 + 0j ,
62
97
* ,
63
98
axis : op .CanIndex = - 1 ,
64
99
) -> onp .ArrayND [_Complex ]: ...
65
100
66
101
#
102
+ @overload
103
+ def zoom_fft (
104
+ x : onp .ToComplexStrict1D ,
105
+ fn : float | np .float64 | onp .ToFloat1D ,
106
+ m : int | None = None ,
107
+ * ,
108
+ fs : float | np .float64 = 2 ,
109
+ endpoint : onp .ToBool = False ,
110
+ axis : op .CanIndex = - 1 ,
111
+ ) -> onp .Array1D [_Complex ]: ...
112
+ @overload
113
+ def zoom_fft (
114
+ x : onp .ToComplexStrict2D ,
115
+ fn : float | np .float64 | onp .ToFloat1D ,
116
+ m : int | None = None ,
117
+ * ,
118
+ fs : float | np .float64 = 2 ,
119
+ endpoint : onp .ToBool = False ,
120
+ axis : op .CanIndex = - 1 ,
121
+ ) -> onp .Array2D [_Complex ]: ...
122
+ @overload
123
+ def zoom_fft (
124
+ x : onp .ToComplexStrict3D ,
125
+ fn : float | np .float64 | onp .ToFloat1D ,
126
+ m : int | None = None ,
127
+ * ,
128
+ fs : float | np .float64 = 2 ,
129
+ endpoint : onp .ToBool = False ,
130
+ axis : op .CanIndex = - 1 ,
131
+ ) -> onp .Array3D [_Complex ]: ...
132
+ @overload
67
133
def zoom_fft (
68
134
x : onp .ToComplexND ,
69
- fn : onp . ToFloatND | onp .ToFloat ,
70
- m : onp . ToJustInt | None = None ,
135
+ fn : float | np . float64 | onp .ToFloat1D ,
136
+ m : int | None = None ,
71
137
* ,
72
- fs : onp . ToFloat = 2 ,
138
+ fs : float | np . float64 = 2 ,
73
139
endpoint : onp .ToBool = False ,
74
140
axis : op .CanIndex = - 1 ,
75
141
) -> onp .ArrayND [_Complex ]: ...
0 commit comments