@@ -17,9 +17,11 @@ from typing_extensions import TypeIs, TypeVar
17
17
18
18
import numpy as np
19
19
from numpy import (
20
+ _AnyShapeT ,
20
21
_HasDType ,
21
22
_HasDTypeWithRealAndImag ,
22
23
_ModeKind ,
24
+ _OrderACF ,
23
25
_OrderKACF ,
24
26
_PartitionKind ,
25
27
_SortKind ,
@@ -1126,7 +1128,90 @@ class MaskedArray(ndarray[_ShapeT_co, _DTypeT_co]):
1126
1128
def count (self , axis : _ShapeLike | None , keepdims : Literal [True ]) -> NDArray [int_ ]: ...
1127
1129
1128
1130
def ravel (self , order : _OrderKACF = "C" ) -> MaskedArray [tuple [int ], _DTypeT_co ]: ...
1129
- def reshape (self , * s , ** kwargs ): ...
1131
+
1132
+ # Keep in sync with `ndarray.reshape`
1133
+ # NOTE: reshape also accepts negative integers, so we can't use integer literals
1134
+ @overload # (None)
1135
+ def reshape (self , shape : None , / , * , order : _OrderACF = "C" , copy : bool | None = None ) -> Self : ...
1136
+ @overload # (empty_sequence)
1137
+ def reshape ( # type: ignore[overload-overlap] # mypy false positive
1138
+ self ,
1139
+ shape : Sequence [Never ],
1140
+ / ,
1141
+ * ,
1142
+ order : _OrderACF = "C" ,
1143
+ copy : bool | None = None ,
1144
+ ) -> MaskedArray [tuple [()], _DTypeT_co ]: ...
1145
+ @overload # (() | (int) | (int, int) | ....) # up to 8-d
1146
+ def reshape (
1147
+ self ,
1148
+ shape : _AnyShapeT ,
1149
+ / ,
1150
+ * ,
1151
+ order : _OrderACF = "C" ,
1152
+ copy : bool | None = None ,
1153
+ ) -> MaskedArray [_AnyShapeT , _DTypeT_co ]: ...
1154
+ @overload # (index)
1155
+ def reshape (
1156
+ self ,
1157
+ size1 : SupportsIndex ,
1158
+ / ,
1159
+ * ,
1160
+ order : _OrderACF = "C" ,
1161
+ copy : bool | None = None ,
1162
+ ) -> MaskedArray [tuple [int ], _DTypeT_co ]: ...
1163
+ @overload # (index, index)
1164
+ def reshape (
1165
+ self ,
1166
+ size1 : SupportsIndex ,
1167
+ size2 : SupportsIndex ,
1168
+ / ,
1169
+ * ,
1170
+ order : _OrderACF = "C" ,
1171
+ copy : bool | None = None ,
1172
+ ) -> MaskedArray [tuple [int , int ], _DTypeT_co ]: ...
1173
+ @overload # (index, index, index)
1174
+ def reshape (
1175
+ self ,
1176
+ size1 : SupportsIndex ,
1177
+ size2 : SupportsIndex ,
1178
+ size3 : SupportsIndex ,
1179
+ / ,
1180
+ * ,
1181
+ order : _OrderACF = "C" ,
1182
+ copy : bool | None = None ,
1183
+ ) -> MaskedArray [tuple [int , int , int ], _DTypeT_co ]: ...
1184
+ @overload # (index, index, index, index)
1185
+ def reshape (
1186
+ self ,
1187
+ size1 : SupportsIndex ,
1188
+ size2 : SupportsIndex ,
1189
+ size3 : SupportsIndex ,
1190
+ size4 : SupportsIndex ,
1191
+ / ,
1192
+ * ,
1193
+ order : _OrderACF = "C" ,
1194
+ copy : bool | None = None ,
1195
+ ) -> MaskedArray [tuple [int , int , int , int ], _DTypeT_co ]: ...
1196
+ @overload # (int, *(index, ...))
1197
+ def reshape (
1198
+ self ,
1199
+ size0 : SupportsIndex ,
1200
+ / ,
1201
+ * shape : SupportsIndex ,
1202
+ order : _OrderACF = "C" ,
1203
+ copy : bool | None = None ,
1204
+ ) -> MaskedArray [_AnyShape , _DTypeT_co ]: ...
1205
+ @overload # (sequence[index])
1206
+ def reshape (
1207
+ self ,
1208
+ shape : Sequence [SupportsIndex ],
1209
+ / ,
1210
+ * ,
1211
+ order : _OrderACF = "C" ,
1212
+ copy : bool | None = None ,
1213
+ ) -> MaskedArray [_AnyShape , _DTypeT_co ]: ...
1214
+
1130
1215
def resize (self , newshape : Never , refcheck : bool = True , order : bool = False ) -> NoReturn : ...
1131
1216
def put (self , indices : _ArrayLikeInt_co , values : ArrayLike , mode : _ModeKind = "raise" ) -> None : ...
1132
1217
def ids (self ) -> tuple [int , int ]: ...
0 commit comments