@@ -3,6 +3,7 @@ from typing_extensions import assert_type
3
3
from typing import Any , TypeAlias , TypeVar
4
4
from numpy ._typing import _Shape , NDArray
5
5
from numpy import dtype , generic
6
+ from datetime import datetime , timedelta
6
7
7
8
8
9
_ScalarT_co = TypeVar ("_ScalarT_co" , bound = generic , covariant = True )
@@ -11,12 +12,22 @@ MaskedNDArray: TypeAlias = np.ma.MaskedArray[_Shape, dtype[_ScalarT_co]]
11
12
class MaskedNDArraySubclass (MaskedNDArray [np .complex128 ]): ...
12
13
13
14
AR_f4 : NDArray [np .float32 ]
15
+ AR_dt64 : NDArray [np .datetime64 ]
16
+ AR_td64 : NDArray [np .timedelta64 ]
17
+ AR_o : NDArray [np .timedelta64 ]
14
18
15
19
MAR_b : MaskedNDArray [np .bool ]
16
20
MAR_f4 : MaskedNDArray [np .float32 ]
17
21
MAR_f8 : MaskedNDArray [np .float64 ]
18
22
MAR_i8 : MaskedNDArray [np .int64 ]
23
+ MAR_dt64 : MaskedNDArray [np .datetime64 ]
24
+ MAR_td64 : MaskedNDArray [np .timedelta64 ]
25
+ MAR_o : MaskedNDArray [np .object_ ]
26
+ MAR_s : MaskedNDArray [np .str_ ]
27
+ MAR_byte : MaskedNDArray [np .bytes_ ]
28
+
19
29
MAR_subclass : MaskedNDArraySubclass
30
+
20
31
MAR_1d : np .ma .MaskedArray [tuple [int ], np .dtype [Any ]]
21
32
22
33
f4 : np .float32
@@ -156,3 +167,54 @@ assert_type(MAR_f4.partition(1, axis=0, kind='introselect', order='K'), None)
156
167
157
168
assert_type (MAR_f4 .argpartition (1 ), MaskedNDArray [np .intp ])
158
169
assert_type (MAR_1d .argpartition (1 , axis = 0 , kind = 'introselect' , order = 'K' ), MaskedNDArray [np .intp ])
170
+
171
+ assert_type (MAR_f4 >= 3 , MaskedNDArray [np .bool ])
172
+ assert_type (MAR_i8 >= AR_td64 , MaskedNDArray [np .bool ])
173
+ assert_type (MAR_b >= AR_td64 , MaskedNDArray [np .bool ])
174
+ assert_type (MAR_td64 >= AR_td64 , MaskedNDArray [np .bool ])
175
+ assert_type (MAR_dt64 >= AR_dt64 , MaskedNDArray [np .bool ])
176
+ assert_type (MAR_o >= AR_o , MaskedNDArray [np .bool ])
177
+ assert_type (MAR_1d >= 0 , MaskedNDArray [np .bool ])
178
+ assert_type (MAR_s >= MAR_s , MaskedNDArray [np .bool ])
179
+ assert_type (MAR_byte >= MAR_byte , MaskedNDArray [np .bool ])
180
+
181
+ assert_type (MAR_f4 > 3 , MaskedNDArray [np .bool ])
182
+ assert_type (MAR_i8 > AR_td64 , MaskedNDArray [np .bool ])
183
+ assert_type (MAR_b > AR_td64 , MaskedNDArray [np .bool ])
184
+ assert_type (MAR_td64 > AR_td64 , MaskedNDArray [np .bool ])
185
+ assert_type (MAR_dt64 > AR_dt64 , MaskedNDArray [np .bool ])
186
+ assert_type (MAR_o > AR_o , MaskedNDArray [np .bool ])
187
+ assert_type (MAR_1d > 0 , MaskedNDArray [np .bool ])
188
+ assert_type (MAR_s > MAR_s , MaskedNDArray [np .bool ])
189
+ assert_type (MAR_byte > MAR_byte , MaskedNDArray [np .bool ])
190
+
191
+ assert_type (MAR_f4 <= 3 , MaskedNDArray [np .bool ])
192
+ assert_type (MAR_i8 <= AR_td64 , MaskedNDArray [np .bool ])
193
+ assert_type (MAR_b <= AR_td64 , MaskedNDArray [np .bool ])
194
+ assert_type (MAR_td64 <= AR_td64 , MaskedNDArray [np .bool ])
195
+ assert_type (MAR_dt64 <= AR_dt64 , MaskedNDArray [np .bool ])
196
+ assert_type (MAR_o <= AR_o , MaskedNDArray [np .bool ])
197
+ assert_type (MAR_1d <= 0 , MaskedNDArray [np .bool ])
198
+ assert_type (MAR_s <= MAR_s , MaskedNDArray [np .bool ])
199
+ assert_type (MAR_byte <= MAR_byte , MaskedNDArray [np .bool ])
200
+
201
+ assert_type (MAR_f4 < 3 , MaskedNDArray [np .bool ])
202
+ assert_type (MAR_i8 < AR_td64 , MaskedNDArray [np .bool ])
203
+ assert_type (MAR_b < AR_td64 , MaskedNDArray [np .bool ])
204
+ assert_type (MAR_td64 < AR_td64 , MaskedNDArray [np .bool ])
205
+ assert_type (MAR_dt64 < AR_dt64 , MaskedNDArray [np .bool ])
206
+ assert_type (MAR_o < AR_o , MaskedNDArray [np .bool ])
207
+ assert_type (MAR_1d < 0 , MaskedNDArray [np .bool ])
208
+ assert_type (MAR_s < MAR_s , MaskedNDArray [np .bool ])
209
+ assert_type (MAR_byte < MAR_byte , MaskedNDArray [np .bool ])
210
+
211
+ assert_type (MAR_f4 <= 3 , MaskedNDArray [np .bool ])
212
+ assert_type (MAR_i8 <= AR_td64 , MaskedNDArray [np .bool ])
213
+ assert_type (MAR_b <= AR_td64 , MaskedNDArray [np .bool ])
214
+ assert_type (MAR_td64 <= AR_td64 , MaskedNDArray [np .bool ])
215
+ assert_type (MAR_dt64 <= AR_dt64 , MaskedNDArray [np .bool ])
216
+ assert_type (MAR_o <= AR_o , MaskedNDArray [np .bool ])
217
+ assert_type (MAR_1d <= 0 , MaskedNDArray [np .bool ])
218
+ assert_type (MAR_s <= MAR_s , MaskedNDArray [np .bool ])
219
+ assert_type (MAR_byte <= MAR_byte , MaskedNDArray [np .bool ])
220
+
0 commit comments