1 // Copyright (C) 2015-2025 Free Software Foundation, Inc.
3 // This file is part of the GNU ISO C++ Library. This library is free
4 // software; you can redistribute it and/or modify it under the
5 // terms of the GNU General Public License as published by the
6 // Free Software Foundation; either version 2, or (at your option)
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License along
15 // with this library; see the file COPYING3. If not see
16 // <http://www.gnu.org/licenses/>.
21 // These are little PODs for special function inputs and
22 // expexted results for the testsuite.
25 #ifndef _GLIBCXX_SPECFUN_TESTCASE_H
26 #define _GLIBCXX_SPECFUN_TESTCASE_H
28 // Associated Laguerre polynomials.
29 template<typename _Tp
>
30 struct testcase_assoc_laguerre
39 // Associated Legendre functions.
40 template<typename _Tp
>
41 struct testcase_assoc_legendre
51 template<typename _Tp
>
60 // Complete elliptic integrals of the first kind.
61 template<typename _Tp
>
62 struct testcase_comp_ellint_1
69 // Complete elliptic integrals of the second kind.
70 template<typename _Tp
>
71 struct testcase_comp_ellint_2
78 // Complete elliptic integrals of the third kind.
79 template<typename _Tp
>
80 struct testcase_comp_ellint_3
88 // Confluent hypergeometric functions.
89 template<typename _Tp
>
90 struct testcase_conf_hyperg
99 // Generic cylindrical Bessel functions.
100 template<typename _Tp
>
101 struct testcase_cyl_bessel
109 // Regular modified cylindrical Bessel functions.
110 template<typename _Tp
>
111 struct testcase_cyl_bessel_i
119 // Cylindrical Bessel functions (of the first kind).
120 template<typename _Tp
>
121 struct testcase_cyl_bessel_j
129 // Irregular modified cylindrical Bessel functions.
130 template<typename _Tp
>
131 struct testcase_cyl_bessel_k
139 // Cylindrical Neumann functions.
140 template<typename _Tp
>
141 struct testcase_cyl_neumann
149 // Elliptic integrals of the first kind.
150 template<typename _Tp
>
151 struct testcase_ellint_1
159 // Elliptic integrals of the second kind.
160 template<typename _Tp
>
161 struct testcase_ellint_2
169 // Elliptic integrals of the third kind.
170 template<typename _Tp
>
171 struct testcase_ellint_3
180 // Exponential integral.
181 template<typename _Tp
>
182 struct testcase_expint
189 // Hermite polynomials
190 template<typename _Tp
>
191 struct testcase_hermite
199 // Hypergeometric functions.
200 template<typename _Tp
>
201 struct testcase_hyperg
211 // Laguerre polynomials.
212 template<typename _Tp
>
213 struct testcase_laguerre
221 // Legendre polynomials.
222 template<typename _Tp
>
223 struct testcase_legendre
231 // Riemann zeta function.
232 template<typename _Tp
>
233 struct testcase_riemann_zeta
240 // Hurwitz zeta function.
241 template<typename _Tp
>
242 struct testcase_hurwitz_zeta
250 // Spherical Bessel functions.
251 template<typename _Tp
>
252 struct testcase_sph_bessel
260 // Regular modified spherical Bessel functions.
261 template<typename _Tp
>
262 struct testcase_sph_bessel_i
270 // Irregular modified spherical Bessel functions.
271 template<typename _Tp
>
272 struct testcase_sph_bessel_k
280 // Spherical Legendre functions.
281 template<typename _Tp
>
282 struct testcase_sph_legendre
291 // Spherical Neumann functions.
292 template<typename _Tp
>
293 struct testcase_sph_neumann
301 // Airy Ai functions.
302 template<typename _Tp
>
303 struct testcase_airy_ai
310 // Airy Bi functions.
311 template<typename _Tp
>
312 struct testcase_airy_bi
319 // Upper incomplete gamma functions.
320 template<typename _Tp
>
321 struct testcase_gamma_u
329 // Lower incomplete gamma functions.
330 template<typename _Tp
>
331 struct testcase_gamma_l
339 // Dilogarithm functions.
340 template<typename _Tp
>
341 struct testcase_dilog
348 // Digamma functions.
349 template<typename _Tp
>
350 struct testcase_gamma
357 template<typename _Tp
>
358 struct testcase_comp_ellint_rf
366 template<typename _Tp
>
367 struct testcase_ellint_rf
376 template<typename _Tp
>
377 struct testcase_ellint_rj
387 template<typename _Tp
>
388 struct testcase_ellint_rd
397 template<typename _Tp
>
398 struct testcase_comp_ellint_rg
406 template<typename _Tp
>
407 struct testcase_ellint_rg
416 #endif // _GLIBCXX_SPECFUN_TESTCASE_H