Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
numeric.pyi171 linesDownload Raw Back to reveal
1"""
2Tests for :mod:`_core.numeric`.
3
4Does not include tests which fall under ``array_constructors``.
5
6"""
7
8from typing import Any, assert_type
9
10import numpy as np
11import numpy.typing as npt
12
13class SubClass(npt.NDArray[np.int64]): ...
14
15i8: np.int64
16
17AR_b: npt.NDArray[np.bool]
18AR_u8: npt.NDArray[np.uint64]
19AR_i8: npt.NDArray[np.int64]
20AR_f8: npt.NDArray[np.float64]
21AR_c16: npt.NDArray[np.complex128]
22AR_m: npt.NDArray[np.timedelta64]
23AR_O: npt.NDArray[np.object_]
24
25_sub_nd_i8: SubClass
26
27_to_1d_bool: list[bool]
28_to_1d_int: list[int]
29_to_1d_float: list[float]
30_to_1d_complex: list[complex]
31
32###
33
34assert_type(np.count_nonzero(i8), np.intp)
35assert_type(np.count_nonzero(AR_i8), np.intp)
36assert_type(np.count_nonzero(_to_1d_int), np.intp)
37assert_type(np.count_nonzero(AR_i8, keepdims=True), npt.NDArray[np.intp])
38assert_type(np.count_nonzero(AR_i8, axis=0), Any)
39
40assert_type(np.isfortran(i8), bool)
41assert_type(np.isfortran(AR_i8), bool)
42
43assert_type(np.argwhere(i8), np.ndarray[tuple[int, int], np.dtype[np.intp]])
44assert_type(np.argwhere(AR_i8), np.ndarray[tuple[int, int], np.dtype[np.intp]])
45
46assert_type(np.flatnonzero(i8), np.ndarray[tuple[int], np.dtype[np.intp]])
47assert_type(np.flatnonzero(AR_i8), np.ndarray[tuple[int], np.dtype[np.intp]])
48
49# correlate
50assert_type(np.correlate(AR_i8, AR_i8), np.ndarray[tuple[int], np.dtype[np.int64]])
51assert_type(np.correlate(AR_b, AR_b), np.ndarray[tuple[int], np.dtype[np.bool]])
52assert_type(np.correlate(AR_u8, AR_u8), np.ndarray[tuple[int], np.dtype[np.uint64]])
53assert_type(np.correlate(AR_i8, AR_i8), np.ndarray[tuple[int], np.dtype[np.int64]])
54assert_type(np.correlate(AR_f8, AR_f8), np.ndarray[tuple[int], np.dtype[np.float64]])
55assert_type(np.correlate(AR_f8, AR_i8), np.ndarray[tuple[int], np.dtype[np.float64 | Any]])
56assert_type(np.correlate(AR_c16, AR_c16), np.ndarray[tuple[int], np.dtype[np.complex128]])
57assert_type(np.correlate(AR_c16, AR_f8), np.ndarray[tuple[int], np.dtype[np.complex128 | Any]])
58assert_type(np.correlate(AR_m, AR_m), np.ndarray[tuple[int], np.dtype[np.timedelta64]])
59assert_type(np.correlate(AR_i8, AR_m), np.ndarray[tuple[int], np.dtype[np.timedelta64 | Any]])
60assert_type(np.correlate(AR_O, AR_O), np.ndarray[tuple[int], np.dtype[np.object_]])
61assert_type(np.correlate(_to_1d_bool, _to_1d_bool), np.ndarray[tuple[int], np.dtype[np.bool]])
62assert_type(np.correlate(_to_1d_int, _to_1d_int), np.ndarray[tuple[int], np.dtype[np.int_ | Any]])
63assert_type(np.correlate(_to_1d_float, _to_1d_float), np.ndarray[tuple[int], np.dtype[np.float64 | Any]])
64assert_type(np.correlate(_to_1d_complex, _to_1d_complex), np.ndarray[tuple[int], np.dtype[np.complex128 | Any]])
65
66# convolve (same as correlate)
67assert_type(np.convolve(AR_i8, AR_i8), np.ndarray[tuple[int], np.dtype[np.int64]])
68assert_type(np.convolve(AR_b, AR_b), np.ndarray[tuple[int], np.dtype[np.bool]])
69assert_type(np.convolve(AR_u8, AR_u8), np.ndarray[tuple[int], np.dtype[np.uint64]])
70assert_type(np.convolve(AR_i8, AR_i8), np.ndarray[tuple[int], np.dtype[np.int64]])
71assert_type(np.convolve(AR_f8, AR_f8), np.ndarray[tuple[int], np.dtype[np.float64]])
72assert_type(np.convolve(AR_f8, AR_i8), np.ndarray[tuple[int], np.dtype[np.float64 | Any]])
73assert_type(np.convolve(AR_c16, AR_c16), np.ndarray[tuple[int], np.dtype[np.complex128]])
74assert_type(np.convolve(AR_c16, AR_f8), np.ndarray[tuple[int], np.dtype[np.complex128 | Any]])
75assert_type(np.convolve(AR_m, AR_m), np.ndarray[tuple[int], np.dtype[np.timedelta64]])
76assert_type(np.convolve(AR_i8, AR_m), np.ndarray[tuple[int], np.dtype[np.timedelta64 | Any]])
77assert_type(np.convolve(AR_O, AR_O), np.ndarray[tuple[int], np.dtype[np.object_]])
78assert_type(np.convolve(_to_1d_bool, _to_1d_bool), np.ndarray[tuple[int], np.dtype[np.bool]])
79assert_type(np.convolve(_to_1d_int, _to_1d_int), np.ndarray[tuple[int], np.dtype[np.int_ | Any]])
80assert_type(np.convolve(_to_1d_float, _to_1d_float), np.ndarray[tuple[int], np.dtype[np.float64 | Any]])
81assert_type(np.convolve(_to_1d_complex, _to_1d_complex), np.ndarray[tuple[int], np.dtype[np.complex128 | Any]])
82
83# outer (very similar to above, but 2D output)
84assert_type(np.outer(AR_i8, AR_i8), np.ndarray[tuple[int, int], np.dtype[np.int64]])
85assert_type(np.outer(AR_b, AR_b), np.ndarray[tuple[int, int], np.dtype[np.bool]])
86assert_type(np.outer(AR_u8, AR_u8), np.ndarray[tuple[int, int], np.dtype[np.uint64]])
87assert_type(np.outer(AR_i8, AR_i8), np.ndarray[tuple[int, int], np.dtype[np.int64]])
88assert_type(np.outer(AR_f8, AR_f8), np.ndarray[tuple[int, int], np.dtype[np.float64]])
89assert_type(np.outer(AR_f8, AR_i8), np.ndarray[tuple[int, int], np.dtype[np.float64 | Any]])
90assert_type(np.outer(AR_c16, AR_c16), np.ndarray[tuple[int, int], np.dtype[np.complex128]])
91assert_type(np.outer(AR_c16, AR_f8), np.ndarray[tuple[int, int], np.dtype[np.complex128 | Any]])
92assert_type(np.outer(AR_m, AR_m), np.ndarray[tuple[int, int], np.dtype[np.timedelta64]])
93assert_type(np.outer(AR_i8, AR_m), np.ndarray[tuple[int, int], np.dtype[np.timedelta64 | Any]])
94assert_type(np.outer(AR_O, AR_O), np.ndarray[tuple[int, int], np.dtype[np.object_]])
95assert_type(np.outer(AR_i8, AR_i8, out=_sub_nd_i8), SubClass)
96assert_type(np.outer(_to_1d_bool, _to_1d_bool), np.ndarray[tuple[int, int], np.dtype[np.bool]])
97assert_type(np.outer(_to_1d_int, _to_1d_int), np.ndarray[tuple[int, int], np.dtype[np.int_ | Any]])
98assert_type(np.outer(_to_1d_float, _to_1d_float), np.ndarray[tuple[int, int], np.dtype[np.float64 | Any]])
99assert_type(np.outer(_to_1d_complex, _to_1d_complex), np.ndarray[tuple[int, int], np.dtype[np.complex128 | Any]])
100
101# tensordot
102assert_type(np.tensordot(AR_i8, AR_i8), npt.NDArray[np.int64])
103assert_type(np.tensordot(AR_b, AR_b), npt.NDArray[np.bool])
104assert_type(np.tensordot(AR_u8, AR_u8), npt.NDArray[np.uint64])
105assert_type(np.tensordot(AR_i8, AR_i8), npt.NDArray[np.int64])
106assert_type(np.tensordot(AR_f8, AR_f8), npt.NDArray[np.float64])
107assert_type(np.tensordot(AR_f8, AR_i8), npt.NDArray[np.float64 | Any])
108assert_type(np.tensordot(AR_c16, AR_c16), npt.NDArray[np.complex128])
109assert_type(np.tensordot(AR_c16, AR_f8), npt.NDArray[np.complex128 | Any])
110assert_type(np.tensordot(AR_m, AR_m), npt.NDArray[np.timedelta64])
111assert_type(np.tensordot(AR_O, AR_O), npt.NDArray[np.object_])
112assert_type(np.tensordot(_to_1d_bool, _to_1d_bool), npt.NDArray[np.bool])
113assert_type(np.tensordot(_to_1d_int, _to_1d_int), npt.NDArray[np.int_ | Any])
114assert_type(np.tensordot(_to_1d_float, _to_1d_float), npt.NDArray[np.float64 | Any])
115assert_type(np.tensordot(_to_1d_complex, _to_1d_complex), npt.NDArray[np.complex128 | Any])
116
117# cross
118assert_type(np.cross(AR_i8, AR_i8), npt.NDArray[np.int64])
119assert_type(np.cross(AR_u8, AR_u8), npt.NDArray[np.uint64])
120assert_type(np.cross(AR_i8, AR_i8), npt.NDArray[np.int64])
121assert_type(np.cross(AR_f8, AR_f8), npt.NDArray[np.float64])
122assert_type(np.cross(AR_f8, AR_i8), npt.NDArray[np.float64 | Any])
123assert_type(np.cross(AR_c16, AR_c16), npt.NDArray[np.complex128])
124assert_type(np.cross(AR_c16, AR_f8), npt.NDArray[np.complex128 | Any])
125assert_type(np.cross(AR_m, AR_m), npt.NDArray[np.timedelta64])
126assert_type(np.cross(AR_O, AR_O), npt.NDArray[np.object_])
127assert_type(np.cross(_to_1d_int, _to_1d_int), npt.NDArray[np.int_ | Any])
128assert_type(np.cross(_to_1d_float, _to_1d_float), npt.NDArray[np.float64 | Any])
129assert_type(np.cross(_to_1d_complex, _to_1d_complex), npt.NDArray[np.complex128 | Any])
130
131assert_type(np.isscalar(i8), bool)
132assert_type(np.isscalar(AR_i8), bool)
133assert_type(np.isscalar(_to_1d_int), bool)
134
135assert_type(np.roll(AR_i8, 1), npt.NDArray[np.int64])
136assert_type(np.roll(AR_i8, (1, 2)), npt.NDArray[np.int64])
137assert_type(np.roll(_to_1d_int, 1), npt.NDArray[Any])
138
139assert_type(np.rollaxis(AR_i8, 0, 1), npt.NDArray[np.int64])
140
141assert_type(np.moveaxis(AR_i8, 0, 1), npt.NDArray[np.int64])
142assert_type(np.moveaxis(AR_i8, (0, 1), (1, 2)), npt.NDArray[np.int64])
143
144assert_type(np.indices([0, 1, 2]), npt.NDArray[np.int_])
145assert_type(np.indices([0, 1, 2], sparse=True), tuple[npt.NDArray[np.int_], ...])
146assert_type(np.indices([0, 1, 2], dtype=np.float64), npt.NDArray[np.float64])
147assert_type(np.indices([0, 1, 2], sparse=True, dtype=np.float64), tuple[npt.NDArray[np.float64], ...])
148assert_type(np.indices([0, 1, 2], dtype=float), npt.NDArray[Any])
149assert_type(np.indices([0, 1, 2], sparse=True, dtype=float), tuple[npt.NDArray[Any], ...])
150
151assert_type(np.binary_repr(1), str)
152
153assert_type(np.base_repr(1), str)
154
155assert_type(np.allclose(i8, AR_i8), bool)
156assert_type(np.allclose(_to_1d_int, AR_i8), bool)
157assert_type(np.allclose(AR_i8, AR_i8), bool)
158
159assert_type(np.isclose(i8, i8), np.bool)
160assert_type(np.isclose(i8, AR_i8), npt.NDArray[np.bool])
161assert_type(np.isclose(_to_1d_int, _to_1d_int), np.ndarray[tuple[int], np.dtype[np.bool]])
162assert_type(np.isclose(AR_i8, AR_i8), npt.NDArray[np.bool])
163
164assert_type(np.array_equal(i8, AR_i8), bool)
165assert_type(np.array_equal(_to_1d_int, AR_i8), bool)
166assert_type(np.array_equal(AR_i8, AR_i8), bool)
167
168assert_type(np.array_equiv(i8, AR_i8), bool)
169assert_type(np.array_equiv(_to_1d_int, AR_i8), bool)
170assert_type(np.array_equiv(AR_i8, AR_i8), bool)
171 
codekingpro/portable-devtools · Team Ai