@@ -3,7 +3,38 @@ from typing import assert_type
33import numpy as np
44import optype .numpy as onp
55
6- from scipy .special import comb , factorial , factorial2 , factorialk , perm , polygamma , sinc , stirling2 , zeta
6+ from scipy .special import (
7+ ai_zeros ,
8+ bei_zeros ,
9+ beip_zeros ,
10+ ber_zeros ,
11+ bernoulli ,
12+ berp_zeros ,
13+ bi_zeros ,
14+ comb ,
15+ erf_zeros ,
16+ euler ,
17+ factorial ,
18+ factorial2 ,
19+ factorialk ,
20+ fresnel_zeros ,
21+ fresnelc_zeros ,
22+ fresnels_zeros ,
23+ kei_zeros ,
24+ keip_zeros ,
25+ kelvin_zeros ,
26+ kerp_zeros ,
27+ perm ,
28+ polygamma ,
29+ sinc ,
30+ stirling2 ,
31+ y0_zeros ,
32+ y1_zeros ,
33+ y1p_zeros ,
34+ yn_zeros ,
35+ ynp_zeros ,
36+ zeta ,
37+ )
738
839f_arr : onp .ArrayND [np .float64 ]
940i_arr : onp .ArrayND [np .intp ]
@@ -16,6 +47,95 @@ assert_type(sinc(1), np.float64)
1647assert_type (sinc (1j ), np .complex128 )
1748assert_type (sinc (i_arr ), onp .ArrayND [np .float64 ])
1849
50+ # yn_zeros
51+ assert_type (yn_zeros (1 , 5 ), onp .Array1D [np .float64 ])
52+
53+ # ynp_zeros
54+ assert_type (ynp_zeros (1 , 5 ), onp .Array1D [np .float64 ])
55+
56+ # y0_zeros
57+ assert_type (y0_zeros (5 , False ), tuple [onp .Array1D [np .complex128 ], onp .Array1D [np .complex128 ]])
58+ assert_type (y0_zeros (5 , True ), tuple [onp .Array1D [np .complex128 ], onp .Array1D [np .complex128 ]])
59+
60+ # y1_zeros
61+ assert_type (y1_zeros (5 , False ), tuple [onp .Array1D [np .complex128 ], onp .Array1D [np .complex128 ]])
62+ assert_type (y1_zeros (5 , True ), tuple [onp .Array1D [np .complex128 ], onp .Array1D [np .complex128 ]])
63+
64+ # y1p_zeros
65+ assert_type (y1p_zeros (5 , False ), tuple [onp .Array1D [np .complex128 ], onp .Array1D [np .complex128 ]])
66+ assert_type (y1p_zeros (5 , True ), tuple [onp .Array1D [np .complex128 ], onp .Array1D [np .complex128 ]])
67+
68+ # erf_zeros
69+ assert_type (erf_zeros (5 ), onp .Array1D [np .complex128 ])
70+
71+ # fresnelc_zeros
72+ assert_type (fresnelc_zeros (5 ), onp .Array1D [np .complex128 ])
73+
74+ # fresnels_zeros
75+ assert_type (fresnels_zeros (5 ), onp .Array1D [np .complex128 ])
76+
77+ # fresnel_zeros
78+ assert_type (fresnel_zeros (5 ), onp .Array1D [np .complex128 ])
79+
80+ # polygamma
81+ assert_type (polygamma (1 , 1.0 ), np .float64 )
82+ assert_type (polygamma (1 , f_arr ), onp .ArrayND [np .float64 ])
83+ assert_type (polygamma (i_arr , 1.0 ), onp .ArrayND [np .float64 ])
84+
85+ # bernoulli
86+ assert_type (bernoulli (5 ), onp .Array1D [np .float64 ])
87+ assert_type (bernoulli (5.0 ), onp .Array1D [np .float64 ])
88+
89+ # euler
90+ assert_type (euler (5 ), onp .Array1D [np .float64 ])
91+ assert_type (euler (5.0 ), onp .Array1D [np .float64 ])
92+
93+ # ai_zeros
94+ assert_type (
95+ ai_zeros (5 ), tuple [onp .Array1D [np .float64 ], onp .Array1D [np .float64 ], onp .Array1D [np .float64 ], onp .Array1D [np .float64 ]]
96+ )
97+
98+ # bi_zeros
99+ assert_type (
100+ bi_zeros (5 ), tuple [onp .Array1D [np .float64 ], onp .Array1D [np .float64 ], onp .Array1D [np .float64 ], onp .Array1D [np .float64 ]]
101+ )
102+
103+ # ber_zeros
104+ assert_type (ber_zeros (5 ), onp .Array1D [np .float64 ])
105+
106+ # bei_zeros
107+ assert_type (bei_zeros (5 ), onp .Array1D [np .float64 ])
108+
109+ # kei_zeros
110+ assert_type (kei_zeros (5 ), onp .Array1D [np .float64 ])
111+
112+ # berp_zeros
113+ assert_type (berp_zeros (5 ), onp .Array1D [np .float64 ])
114+
115+ # beip_zeros
116+ assert_type (beip_zeros (5 ), onp .Array1D [np .float64 ])
117+
118+ # kerp_zeros
119+ assert_type (kerp_zeros (5 ), onp .Array1D [np .float64 ])
120+
121+ # keip_zeros
122+ assert_type (keip_zeros (5 ), onp .Array1D [np .float64 ])
123+
124+ # kelvin_zeros
125+ assert_type (
126+ kelvin_zeros (5 ),
127+ tuple [
128+ onp .Array1D [np .float64 ],
129+ onp .Array1D [np .float64 ],
130+ onp .Array1D [np .float64 ],
131+ onp .Array1D [np .float64 ],
132+ onp .Array1D [np .float64 ],
133+ onp .Array1D [np .float64 ],
134+ onp .Array1D [np .float64 ],
135+ onp .Array1D [np .float64 ],
136+ ],
137+ )
138+
19139# comb
20140assert_type (comb (5 , 2 , exact = True ), int )
21141assert_type (comb (5.0 , 2.0 ), np .float32 | np .float64 )
@@ -61,11 +181,6 @@ assert_type(stirling2(5, 2), np.float64)
61181assert_type (stirling2 (5 , i_arr ), onp .ArrayND [np .float64 ])
62182assert_type (stirling2 (i_arr , 2 ), onp .ArrayND [np .float64 ])
63183
64- # polygamma
65- assert_type (polygamma (1 , 1.0 ), np .float64 )
66- assert_type (polygamma (1 , f_arr ), onp .ArrayND [np .float64 ])
67- assert_type (polygamma (i_arr , 1.0 ), onp .ArrayND [np .float64 ])
68-
69184# zeta
70185assert_type (zeta (2.0 ), np .float64 )
71186assert_type (zeta (2.0 , f_arr ), onp .ArrayND [np .float64 ])
0 commit comments