Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
ndarray_misc.pyi247 linesDownload Raw Back to reveal
1"""
2Tests for miscellaneous (non-magic) ``np.ndarray``/``np.generic`` methods.
3
4More extensive tests are performed for the methods'
5function-based counterpart in `../from_numeric.py`.
6
7"""
8
9import ctypes as ct
10import operator
11from collections.abc import Iterator
12from types import ModuleType
13from typing import Any, Literal, assert_type
14from typing_extensions import CapsuleType
15
16import numpy as np
17import numpy.typing as npt
18
19class SubClass(npt.NDArray[np.object_]): ...
20
21f8: np.float64
22i8: np.int64
23B: SubClass
24AR_f8: npt.NDArray[np.float64]
25AR_i8: npt.NDArray[np.int64]
26AR_u1: npt.NDArray[np.uint8]
27AR_c8: npt.NDArray[np.complex64]
28AR_m: npt.NDArray[np.timedelta64]
29AR_U: npt.NDArray[np.str_]
30AR_V: npt.NDArray[np.void]
31
32AR_f8_1d: np.ndarray[tuple[int], np.dtype[np.float64]]
33AR_f8_2d: np.ndarray[tuple[int, int], np.dtype[np.float64]]
34AR_f8_3d: np.ndarray[tuple[int, int, int], np.dtype[np.float64]]
35
36ctypes_obj = AR_f8.ctypes
37
38assert_type(AR_f8.__dlpack__(), CapsuleType)
39assert_type(AR_f8.__dlpack_device__(), tuple[Literal[1], Literal[0]])
40
41assert_type(ctypes_obj.data, int)
42assert_type(ctypes_obj.shape, ct.Array[np.ctypeslib.c_intp])
43assert_type(ctypes_obj.strides, ct.Array[np.ctypeslib.c_intp])
44assert_type(ctypes_obj._as_parameter_, ct.c_void_p)
45
46assert_type(ctypes_obj.data_as(ct.c_void_p), ct.c_void_p)
47assert_type(ctypes_obj.shape_as(ct.c_longlong), ct.Array[ct.c_longlong])
48assert_type(ctypes_obj.strides_as(ct.c_ubyte), ct.Array[ct.c_ubyte])
49
50assert_type(f8.all(), np.bool)
51assert_type(AR_f8.all(), np.bool)
52assert_type(AR_f8.all(axis=0), np.bool | npt.NDArray[np.bool])
53assert_type(AR_f8.all(keepdims=True), np.bool | npt.NDArray[np.bool])
54assert_type(AR_f8.all(out=B), SubClass)
55
56assert_type(f8.any(), np.bool)
57assert_type(AR_f8.any(), np.bool)
58assert_type(AR_f8.any(axis=0), np.bool | npt.NDArray[np.bool])
59assert_type(AR_f8.any(keepdims=True), np.bool | npt.NDArray[np.bool])
60assert_type(AR_f8.any(out=B), SubClass)
61
62assert_type(f8.argmax(), np.intp)
63assert_type(AR_f8.argmax(), np.intp)
64assert_type(AR_f8.argmax(axis=0), Any)
65assert_type(AR_f8.argmax(out=AR_i8), npt.NDArray[np.intp])
66
67assert_type(f8.argmin(), np.intp)
68assert_type(AR_f8.argmin(), np.intp)
69assert_type(AR_f8.argmin(axis=0), Any)
70assert_type(AR_f8.argmin(out=AR_i8), npt.NDArray[np.intp])
71
72assert_type(f8.argsort(), npt.NDArray[np.intp])
73assert_type(AR_f8.argsort(), npt.NDArray[np.intp])
74
75assert_type(f8.astype(np.int64).choose([()]), npt.NDArray[Any])
76assert_type(AR_f8.choose([0]), npt.NDArray[Any])
77assert_type(AR_f8.choose([0], out=B), SubClass)
78
79assert_type(f8.clip(1), npt.NDArray[Any])
80assert_type(AR_f8.clip(1), npt.NDArray[Any])
81assert_type(AR_f8.clip(None, 1), npt.NDArray[Any])
82assert_type(AR_f8.clip(1, out=B), SubClass)
83assert_type(AR_f8.clip(None, 1, out=B), SubClass)
84
85assert_type(f8.compress([0]), npt.NDArray[Any])
86assert_type(AR_f8.compress([0]), npt.NDArray[Any])
87assert_type(AR_f8.compress([0], out=B), SubClass)
88
89assert_type(f8.conj(), np.float64)
90assert_type(AR_f8.conj(), npt.NDArray[np.float64])
91assert_type(B.conj(), SubClass)
92
93assert_type(f8.conjugate(), np.float64)
94assert_type(AR_f8.conjugate(), npt.NDArray[np.float64])
95assert_type(B.conjugate(), SubClass)
96
97assert_type(f8.cumprod(), npt.NDArray[Any])
98assert_type(AR_f8.cumprod(), npt.NDArray[Any])
99assert_type(AR_f8.cumprod(out=B), SubClass)
100
101assert_type(f8.cumsum(), npt.NDArray[Any])
102assert_type(AR_f8.cumsum(), npt.NDArray[Any])
103assert_type(AR_f8.cumsum(out=B), SubClass)
104
105assert_type(f8.max(), Any)
106assert_type(AR_f8.max(), Any)
107assert_type(AR_f8.max(axis=0), Any)
108assert_type(AR_f8.max(keepdims=True), Any)
109assert_type(AR_f8.max(out=B), SubClass)
110
111assert_type(f8.mean(), Any)
112assert_type(AR_f8.mean(), Any)
113assert_type(AR_f8.mean(axis=0), Any)
114assert_type(AR_f8.mean(keepdims=True), Any)
115assert_type(AR_f8.mean(out=B), SubClass)
116
117assert_type(f8.min(), Any)
118assert_type(AR_f8.min(), Any)
119assert_type(AR_f8.min(axis=0), Any)
120assert_type(AR_f8.min(keepdims=True), Any)
121assert_type(AR_f8.min(out=B), SubClass)
122
123assert_type(f8.prod(), Any)
124assert_type(AR_f8.prod(), Any)
125assert_type(AR_f8.prod(axis=0), Any)
126assert_type(AR_f8.prod(keepdims=True), Any)
127assert_type(AR_f8.prod(out=B), SubClass)
128
129assert_type(f8.round(), np.float64)
130assert_type(AR_f8.round(), npt.NDArray[np.float64])
131assert_type(AR_f8.round(out=B), SubClass)
132
133assert_type(f8.repeat(1), np.ndarray[tuple[int], np.dtype[np.float64]])
134assert_type(f8.repeat(1, axis=0), np.ndarray[tuple[int], np.dtype[np.float64]])
135assert_type(AR_f8.repeat(1), np.ndarray[tuple[int], np.dtype[np.float64]])
136assert_type(AR_f8.repeat(1, axis=0), npt.NDArray[np.float64])
137assert_type(B.repeat(1), np.ndarray[tuple[int], np.dtype[np.object_]])
138assert_type(B.repeat(1, axis=0), npt.NDArray[np.object_])
139
140assert_type(f8.std(), Any)
141assert_type(AR_f8.std(), Any)
142assert_type(AR_f8.std(axis=0), Any)
143assert_type(AR_f8.std(keepdims=True), Any)
144assert_type(AR_f8.std(out=B), SubClass)
145
146assert_type(f8.sum(), Any)
147assert_type(AR_f8.sum(), Any)
148assert_type(AR_f8.sum(axis=0), Any)
149assert_type(AR_f8.sum(keepdims=True), Any)
150assert_type(AR_f8.sum(out=B), SubClass)
151
152assert_type(f8.take(0), np.float64)
153assert_type(AR_f8.take(0), np.float64)
154assert_type(AR_f8.take([0]), npt.NDArray[np.float64])
155assert_type(AR_f8.take(0, out=B), SubClass)
156assert_type(AR_f8.take([0], out=B), SubClass)
157
158assert_type(f8.var(), Any)
159assert_type(AR_f8.var(), Any)
160assert_type(AR_f8.var(axis=0), Any)
161assert_type(AR_f8.var(keepdims=True), Any)
162assert_type(AR_f8.var(out=B), SubClass)
163
164assert_type(AR_f8.argpartition([0]), npt.NDArray[np.intp])
165
166assert_type(AR_f8.diagonal(), npt.NDArray[np.float64])
167
168assert_type(AR_f8.dot(1), npt.NDArray[Any])
169assert_type(AR_f8.dot([1]), Any)
170assert_type(AR_f8.dot(1, out=B), SubClass)
171
172assert_type(AR_f8.nonzero(), tuple[np.ndarray[tuple[int], np.dtype[np.intp]], ...])
173
174assert_type(AR_f8.searchsorted(1), np.intp)
175assert_type(AR_f8.searchsorted([1]), npt.NDArray[np.intp])
176
177assert_type(AR_f8.trace(), Any)
178assert_type(AR_f8.trace(out=B), SubClass)
179
180assert_type(AR_f8.item(), float)
181assert_type(AR_U.item(), str)
182
183assert_type(AR_f8.ravel(), np.ndarray[tuple[int], np.dtype[np.float64]])
184assert_type(AR_U.ravel(), np.ndarray[tuple[int], np.dtype[np.str_]])
185
186assert_type(AR_f8.flatten(), np.ndarray[tuple[int], np.dtype[np.float64]])
187assert_type(AR_U.flatten(), np.ndarray[tuple[int], np.dtype[np.str_]])
188
189assert_type(AR_i8.reshape(None), npt.NDArray[np.int64])
190assert_type(AR_f8.reshape(-1), np.ndarray[tuple[int], np.dtype[np.float64]])
191assert_type(AR_c8.reshape(2, 3, 4, 5), np.ndarray[tuple[int, int, int, int], np.dtype[np.complex64]])
192assert_type(AR_m.reshape(()), np.ndarray[tuple[()], np.dtype[np.timedelta64]])
193assert_type(AR_U.reshape([]), np.ndarray[tuple[()], np.dtype[np.str_]])
194assert_type(AR_V.reshape((480, 720, 4)), np.ndarray[tuple[int, int, int], np.dtype[np.void]])
195
196assert_type(int(AR_f8), int)
197assert_type(int(AR_U), int)
198
199assert_type(float(AR_f8), float)
200assert_type(float(AR_U), float)
201
202assert_type(complex(AR_f8), complex)
203
204assert_type(operator.index(AR_i8), int)
205
206assert_type(AR_f8.__array_wrap__(B), npt.NDArray[np.object_])
207
208assert_type(AR_V[0], Any)
209assert_type(AR_V[0, 0], Any)
210assert_type(AR_V[AR_i8], npt.NDArray[np.void])
211assert_type(AR_V[AR_i8, AR_i8], npt.NDArray[np.void])
212assert_type(AR_V[AR_i8, None], npt.NDArray[np.void])
213assert_type(AR_V[0, ...], npt.NDArray[np.void])
214assert_type(AR_V[[0]], npt.NDArray[np.void])
215assert_type(AR_V[[0], [0]], npt.NDArray[np.void])
216assert_type(AR_V[:], npt.NDArray[np.void])
217assert_type(AR_V["a"], npt.NDArray[Any])
218assert_type(AR_V[["a", "b"]], npt.NDArray[np.void])
219
220assert_type(AR_f8.dump("test_file"), None)
221assert_type(AR_f8.dump(b"test_file"), None)
222with open("test_file", "wb") as f:
223    assert_type(AR_f8.dump(f), None)
224
225assert_type(AR_f8.__array_finalize__(None), None)
226assert_type(AR_f8.__array_finalize__(B), None)
227assert_type(AR_f8.__array_finalize__(AR_f8), None)
228
229assert_type(f8.device, Literal["cpu"])
230assert_type(AR_f8.device, Literal["cpu"])
231
232assert_type(f8.to_device("cpu"), np.float64)
233assert_type(i8.to_device("cpu"), np.int64)
234assert_type(AR_f8.to_device("cpu"), npt.NDArray[np.float64])
235assert_type(AR_i8.to_device("cpu"), npt.NDArray[np.int64])
236assert_type(AR_u1.to_device("cpu"), npt.NDArray[np.uint8])
237assert_type(AR_c8.to_device("cpu"), npt.NDArray[np.complex64])
238assert_type(AR_m.to_device("cpu"), npt.NDArray[np.timedelta64])
239
240assert_type(f8.__array_namespace__(), ModuleType)
241assert_type(AR_f8.__array_namespace__(), ModuleType)
242
243assert_type(iter(AR_f8), Iterator[Any])  # any-D
244assert_type(iter(AR_f8_1d), Iterator[np.float64])  # 1-D
245assert_type(iter(AR_f8_2d), Iterator[npt.NDArray[np.float64]])  # 2-D
246assert_type(iter(AR_f8_3d), Iterator[npt.NDArray[np.float64]])  # 3-D
247 
codekingpro/portable-devtools · Team Ai