Skip to content

Commit 1e7141a

Browse files
committed
stats: type-tests for [differential_]entropy
1 parent 3958afb commit 1e7141a

File tree

1 file changed

+227
-0
lines changed

1 file changed

+227
-0
lines changed

tests/stats/test__entropy.pyi

Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
# type-tests for `stats/_entropy.pyi`
2+
3+
from typing import assert_type
4+
5+
import numpy as np
6+
import optype.numpy as onp
7+
8+
from scipy.stats import differential_entropy, entropy
9+
10+
i8_0d: np.int8
11+
i8_1d: onp.Array1D[np.int8]
12+
i8_2d: onp.Array2D[np.int8]
13+
i8_3d: onp.Array3D[np.int8]
14+
i8_nd: onp.ArrayND[np.int8, tuple[int, ...]]
15+
16+
f16_0d: np.float16
17+
f16_1d: onp.Array1D[np.float16]
18+
f16_2d: onp.Array2D[np.float16]
19+
f16_3d: onp.Array3D[np.float16]
20+
f16_nd: onp.ArrayND[np.float16, tuple[int, ...]]
21+
22+
f32_0d: np.float32
23+
f32_1d: onp.Array1D[np.float32]
24+
f32_2d: onp.Array2D[np.float32]
25+
f32_3d: onp.Array3D[np.float32]
26+
f32_nd: onp.ArrayND[np.float32, tuple[int, ...]]
27+
28+
f64_0d: np.float64
29+
f64_1d: onp.Array1D[np.float64]
30+
f64_2d: onp.Array2D[np.float64]
31+
f64_3d: onp.Array3D[np.float64]
32+
f64_nd: onp.ArrayND[np.float64, tuple[int, ...]]
33+
34+
f80_0d: np.longdouble
35+
f80_1d: onp.Array1D[np.longdouble]
36+
f80_2d: onp.Array2D[np.longdouble]
37+
f80_3d: onp.Array3D[np.longdouble]
38+
f80_nd: onp.ArrayND[np.longdouble, tuple[int, ...]]
39+
40+
c64_0d: np.complex64
41+
c64_1d: onp.Array1D[np.complex64]
42+
c64_2d: onp.Array2D[np.complex64]
43+
c64_3d: onp.Array3D[np.complex64]
44+
c64_nd: onp.ArrayND[np.complex64, tuple[int, ...]]
45+
46+
py_f_0d: float
47+
py_f_1d: list[float]
48+
py_f_2d: list[list[float]]
49+
py_f_3d: list[list[list[float]]]
50+
py_f_nd: list[list[list[list[list[list[float]]]]]]
51+
52+
py_c_0d: complex
53+
py_c_1d: list[complex]
54+
py_c_2d: list[list[complex]]
55+
py_c_3d: list[list[list[complex]]]
56+
py_c_nd: list[list[list[list[list[list[complex]]]]]]
57+
58+
###
59+
# entropy
60+
61+
assert_type(entropy(i8_0d), np.float64)
62+
assert_type(entropy(i8_1d), np.float64)
63+
assert_type(entropy(i8_2d), onp.Array1D[np.float64])
64+
assert_type(entropy(i8_3d), onp.Array2D[np.float64])
65+
assert_type(entropy(i8_nd), np.float64 | onp.ArrayND[np.float64])
66+
assert_type(entropy(i8_nd, keepdims=True), onp.ArrayND[np.float64])
67+
assert_type(entropy(i8_nd, axis=None), np.float64)
68+
assert_type(entropy(f16_0d), np.float32)
69+
assert_type(entropy(f16_1d), np.float32)
70+
assert_type(entropy(f16_2d), onp.Array1D[np.float32])
71+
assert_type(entropy(f16_3d), onp.Array2D[np.float32])
72+
assert_type(entropy(f16_nd), np.float32 | onp.ArrayND[np.float32])
73+
assert_type(entropy(f16_nd, keepdims=True), onp.ArrayND[np.float32])
74+
assert_type(entropy(f16_nd, axis=None), np.float32)
75+
assert_type(entropy(f32_0d), np.float32)
76+
assert_type(entropy(f32_1d), np.float32)
77+
assert_type(entropy(f32_2d), onp.Array1D[np.float32])
78+
assert_type(entropy(f32_3d), onp.Array2D[np.float32])
79+
assert_type(entropy(f32_nd), np.float32 | onp.ArrayND[np.float32])
80+
assert_type(entropy(f32_nd, keepdims=True), onp.ArrayND[np.float32])
81+
assert_type(entropy(f32_nd, axis=None), np.float32)
82+
assert_type(entropy(f64_0d), np.float64)
83+
assert_type(entropy(f64_1d), np.float64)
84+
assert_type(entropy(f64_2d), onp.Array1D[np.float64])
85+
assert_type(entropy(f64_3d), onp.Array2D[np.float64])
86+
assert_type(entropy(f64_nd), np.float64 | onp.ArrayND[np.float64])
87+
assert_type(entropy(f64_nd, keepdims=True), onp.ArrayND[np.float64])
88+
assert_type(entropy(f64_nd, axis=None), np.float64)
89+
assert_type(entropy(py_f_0d), np.float64)
90+
assert_type(entropy(py_f_1d), np.float64)
91+
assert_type(entropy(py_f_2d), onp.Array1D[np.float64])
92+
assert_type(entropy(py_f_3d), onp.Array2D[np.float64])
93+
assert_type(entropy(py_f_nd), np.float64 | onp.ArrayND[np.float64])
94+
assert_type(entropy(py_f_nd, keepdims=True), onp.ArrayND[np.float64])
95+
assert_type(entropy(py_f_nd, axis=None), np.float64)
96+
97+
assert_type(entropy(i8_0d, f16_0d), np.float64)
98+
assert_type(entropy(i8_1d, f16_0d), np.float64)
99+
assert_type(entropy(i8_2d, f16_0d), onp.Array1D[np.float64])
100+
assert_type(entropy(i8_3d, f16_0d), onp.Array2D[np.float64])
101+
assert_type(entropy(i8_nd, f16_0d), np.float64 | onp.ArrayND[np.float64])
102+
assert_type(entropy(i8_nd, f16_0d, keepdims=True), onp.ArrayND[np.float64])
103+
assert_type(entropy(i8_nd, f16_0d, axis=None), np.float64)
104+
assert_type(entropy(f16_0d, f16_0d), np.float32)
105+
assert_type(entropy(f16_1d, f16_0d), np.float32)
106+
assert_type(entropy(f16_2d, f16_0d), onp.Array1D[np.float32])
107+
assert_type(entropy(f16_3d, f16_0d), onp.Array2D[np.float32])
108+
assert_type(entropy(f16_nd, f16_0d), np.float32 | onp.ArrayND[np.float32])
109+
assert_type(entropy(f16_nd, f16_0d, keepdims=True), onp.ArrayND[np.float32])
110+
assert_type(entropy(f16_nd, f16_0d, axis=None), np.float32)
111+
assert_type(entropy(f32_0d, f16_0d), np.float32)
112+
assert_type(entropy(f32_1d, f16_0d), np.float32)
113+
assert_type(entropy(f32_2d, f16_0d), onp.Array1D[np.float32])
114+
assert_type(entropy(f32_3d, f16_0d), onp.Array2D[np.float32])
115+
assert_type(entropy(f32_nd, f16_0d), np.float32 | onp.ArrayND[np.float32])
116+
assert_type(entropy(f32_nd, f16_0d, keepdims=True), onp.ArrayND[np.float32])
117+
assert_type(entropy(f32_nd, f16_0d, axis=None), np.float32)
118+
assert_type(entropy(f64_0d, f16_0d), np.float64)
119+
assert_type(entropy(f64_1d, f16_0d), np.float64)
120+
assert_type(entropy(f64_2d, f16_0d), onp.Array1D[np.float64])
121+
assert_type(entropy(f64_3d, f16_0d), onp.Array2D[np.float64])
122+
assert_type(entropy(f64_nd, f16_0d), np.float64 | onp.ArrayND[np.float64])
123+
assert_type(entropy(f64_nd, f16_0d, keepdims=True), onp.ArrayND[np.float64])
124+
assert_type(entropy(f64_nd, f16_0d, axis=None), np.float64)
125+
assert_type(entropy(py_f_0d, f16_0d), np.float64)
126+
assert_type(entropy(py_f_1d, f16_0d), np.float64)
127+
assert_type(entropy(py_f_2d, f16_0d), onp.Array1D[np.float64])
128+
assert_type(entropy(py_f_3d, f16_0d), onp.Array2D[np.float64])
129+
assert_type(entropy(py_f_nd, f16_0d), np.float64 | onp.ArrayND[np.float64])
130+
assert_type(entropy(py_f_nd, f16_0d, keepdims=True), onp.ArrayND[np.float64])
131+
assert_type(entropy(py_f_nd, f16_0d, axis=None), np.float64)
132+
133+
assert_type(entropy(i8_0d, py_f_0d), np.float64)
134+
assert_type(entropy(i8_1d, py_f_0d), np.float64)
135+
assert_type(entropy(i8_2d, py_f_0d), onp.Array1D[np.float64])
136+
assert_type(entropy(i8_3d, py_f_0d), onp.Array2D[np.float64])
137+
assert_type(entropy(i8_nd, py_f_0d), np.float64 | onp.ArrayND[np.float64])
138+
assert_type(entropy(i8_nd, py_f_0d, keepdims=True), onp.ArrayND[np.float64])
139+
assert_type(entropy(i8_nd, py_f_0d, axis=None), np.float64)
140+
assert_type(entropy(f16_0d, py_f_0d), np.float64)
141+
assert_type(entropy(f16_1d, py_f_0d), np.float64)
142+
assert_type(entropy(f16_2d, py_f_0d), onp.Array1D[np.float64])
143+
assert_type(entropy(f16_3d, py_f_0d), onp.Array2D[np.float64])
144+
assert_type(entropy(f16_nd, py_f_0d), np.float64 | onp.ArrayND[np.float64])
145+
assert_type(entropy(f16_nd, py_f_0d, keepdims=True), onp.ArrayND[np.float64])
146+
assert_type(entropy(f16_nd, py_f_0d, axis=None), np.float64)
147+
assert_type(entropy(f32_0d, py_f_0d), np.float64)
148+
assert_type(entropy(f32_1d, py_f_0d), np.float64)
149+
assert_type(entropy(f32_2d, py_f_0d), onp.Array1D[np.float64])
150+
assert_type(entropy(f32_3d, py_f_0d), onp.Array2D[np.float64])
151+
assert_type(entropy(f32_nd, py_f_0d), np.float64 | onp.ArrayND[np.float64])
152+
assert_type(entropy(f32_nd, py_f_0d, keepdims=True), onp.ArrayND[np.float64])
153+
assert_type(entropy(f32_nd, py_f_0d, axis=None), np.float64)
154+
assert_type(entropy(f64_0d, py_f_0d), np.float64)
155+
assert_type(entropy(f64_1d, py_f_0d), np.float64)
156+
assert_type(entropy(f64_2d, py_f_0d), onp.Array1D[np.float64])
157+
assert_type(entropy(f64_3d, py_f_0d), onp.Array2D[np.float64])
158+
assert_type(entropy(f64_nd, py_f_0d), np.float64 | onp.ArrayND[np.float64])
159+
assert_type(entropy(f64_nd, py_f_0d, keepdims=True), onp.ArrayND[np.float64])
160+
assert_type(entropy(f64_nd, py_f_0d, axis=None), np.float64)
161+
assert_type(entropy(py_f_0d, py_f_0d), np.float64)
162+
assert_type(entropy(py_f_1d, py_f_0d), np.float64)
163+
assert_type(entropy(py_f_2d, py_f_0d), onp.Array1D[np.float64])
164+
assert_type(entropy(py_f_3d, py_f_0d), onp.Array2D[np.float64])
165+
assert_type(entropy(py_f_nd, py_f_0d), np.float64 | onp.ArrayND[np.float64])
166+
assert_type(entropy(py_f_nd, py_f_0d, keepdims=True), onp.ArrayND[np.float64])
167+
assert_type(entropy(py_f_nd, py_f_0d, axis=None), np.float64)
168+
169+
###
170+
# differential_entropy
171+
172+
assert_type(differential_entropy(i8_0d), np.float64)
173+
assert_type(differential_entropy(i8_1d), np.float64)
174+
assert_type(differential_entropy(i8_2d), onp.Array1D[np.float64])
175+
assert_type(differential_entropy(i8_3d), onp.Array2D[np.float64])
176+
assert_type(differential_entropy(i8_nd), np.float64 | onp.ArrayND[np.float64])
177+
assert_type(differential_entropy(i8_nd, keepdims=True), onp.ArrayND[np.float64])
178+
assert_type(differential_entropy(i8_nd, axis=None), np.float64)
179+
assert_type(differential_entropy(f16_0d), np.float16)
180+
assert_type(differential_entropy(f16_1d), np.float16)
181+
assert_type(differential_entropy(f16_2d), onp.Array1D[np.float16])
182+
assert_type(differential_entropy(f16_3d), onp.Array2D[np.float16])
183+
assert_type(differential_entropy(f16_nd), np.float16 | onp.ArrayND[np.float16])
184+
assert_type(differential_entropy(f16_nd, keepdims=True), onp.ArrayND[np.float16])
185+
assert_type(differential_entropy(f16_nd, axis=None), np.float16)
186+
assert_type(differential_entropy(f32_0d), np.float32)
187+
assert_type(differential_entropy(f32_1d), np.float32)
188+
assert_type(differential_entropy(f32_2d), onp.Array1D[np.float32])
189+
assert_type(differential_entropy(f32_3d), onp.Array2D[np.float32])
190+
assert_type(differential_entropy(f32_nd), np.float32 | onp.ArrayND[np.float32])
191+
assert_type(differential_entropy(f32_nd, keepdims=True), onp.ArrayND[np.float32])
192+
assert_type(differential_entropy(f32_nd, axis=None), np.float32)
193+
assert_type(differential_entropy(f64_0d), np.float64)
194+
assert_type(differential_entropy(f64_1d), np.float64)
195+
assert_type(differential_entropy(f64_2d), onp.Array1D[np.float64])
196+
assert_type(differential_entropy(f64_3d), onp.Array2D[np.float64])
197+
assert_type(differential_entropy(f64_nd), np.float64 | onp.ArrayND[np.float64])
198+
assert_type(differential_entropy(f64_nd, keepdims=True), onp.ArrayND[np.float64])
199+
assert_type(differential_entropy(f64_nd, axis=None), np.float64)
200+
assert_type(differential_entropy(f80_0d), np.longdouble)
201+
assert_type(differential_entropy(f80_1d), np.longdouble)
202+
assert_type(differential_entropy(f80_2d), onp.Array1D[np.longdouble])
203+
assert_type(differential_entropy(f80_3d), onp.Array2D[np.longdouble])
204+
assert_type(differential_entropy(f80_nd), np.longdouble | onp.ArrayND[np.longdouble])
205+
assert_type(differential_entropy(f80_nd, keepdims=True), onp.ArrayND[np.longdouble])
206+
assert_type(differential_entropy(f80_nd, axis=None), np.longdouble)
207+
assert_type(differential_entropy(c64_0d), np.complex64)
208+
assert_type(differential_entropy(c64_1d), np.complex64)
209+
assert_type(differential_entropy(c64_2d), onp.Array1D[np.complex64])
210+
assert_type(differential_entropy(c64_3d), onp.Array2D[np.complex64])
211+
assert_type(differential_entropy(c64_nd), np.complex64 | onp.ArrayND[np.complex64])
212+
assert_type(differential_entropy(c64_nd, keepdims=True), onp.ArrayND[np.complex64])
213+
assert_type(differential_entropy(c64_nd, axis=None), np.complex64)
214+
assert_type(differential_entropy(py_f_0d), np.float64)
215+
assert_type(differential_entropy(py_f_1d), np.float64)
216+
assert_type(differential_entropy(py_f_2d), onp.Array1D[np.float64])
217+
assert_type(differential_entropy(py_f_3d), onp.Array2D[np.float64])
218+
assert_type(differential_entropy(py_f_nd), np.float64 | onp.ArrayND[np.float64])
219+
assert_type(differential_entropy(py_f_nd, keepdims=True), onp.ArrayND[np.float64])
220+
assert_type(differential_entropy(py_f_nd, axis=None), np.float64)
221+
assert_type(differential_entropy(py_c_0d), np.complex128)
222+
assert_type(differential_entropy(py_c_1d), np.complex128)
223+
assert_type(differential_entropy(py_c_2d), onp.Array1D[np.complex128])
224+
assert_type(differential_entropy(py_c_3d), onp.Array2D[np.complex128])
225+
assert_type(differential_entropy(py_c_nd), np.complex128 | onp.ArrayND[np.complex128])
226+
assert_type(differential_entropy(py_c_nd, keepdims=True), onp.ArrayND[np.complex128])
227+
assert_type(differential_entropy(py_c_nd, axis=None), np.complex128)

0 commit comments

Comments
 (0)