]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/util/specfun_testcase.h
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / util / specfun_testcase.h
CommitLineData
83ffe9cd 1// Copyright (C) 2015-2023 Free Software Foundation, Inc.
2be75957
ESR
2//
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)
7// any later version.
8//
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.
13//
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/>.
17
18// testcase.h
19
20//
21// These are little PODs for special function inputs and
22// expexted results for the testsuite.
23//
24
25#ifndef _GLIBCXX_SPECFUN_TESTCASE_H
26#define _GLIBCXX_SPECFUN_TESTCASE_H
27
28// Associated Laguerre polynomials.
29template<typename _Tp>
30 struct testcase_assoc_laguerre
31 {
32 _Tp f0;
33 unsigned int n;
34 unsigned int m;
35 _Tp x;
36 _Tp f;
37 };
38
39// Associated Legendre functions.
40template<typename _Tp>
41 struct testcase_assoc_legendre
42 {
43 _Tp f0;
44 unsigned int l;
45 unsigned int m;
46 _Tp x;
47 _Tp f;
48 };
49
50// Beta function.
51template<typename _Tp>
52 struct testcase_beta
53 {
54 _Tp f0;
55 _Tp x;
56 _Tp y;
57 _Tp f;
58 };
59
60// Complete elliptic integrals of the first kind.
61template<typename _Tp>
62 struct testcase_comp_ellint_1
63 {
64 _Tp f0;
65 _Tp k;
66 _Tp f;
67 };
68
69// Complete elliptic integrals of the second kind.
70template<typename _Tp>
71 struct testcase_comp_ellint_2
72 {
73 _Tp f0;
74 _Tp k;
75 _Tp f;
76 };
77
78// Complete elliptic integrals of the third kind.
79template<typename _Tp>
80 struct testcase_comp_ellint_3
81 {
82 _Tp f0;
83 _Tp k;
84 _Tp nu;
85 _Tp f;
86 };
87
88// Confluent hypergeometric functions.
89template<typename _Tp>
90 struct testcase_conf_hyperg
91 {
92 _Tp f0;
93 _Tp a;
94 _Tp c;
95 _Tp x;
96 _Tp f;
97 };
98
99// Generic cylindrical Bessel functions.
100template<typename _Tp>
101 struct testcase_cyl_bessel
102 {
103 _Tp f0;
104 _Tp nu;
105 _Tp x;
106 _Tp f;
107 };
108
109// Regular modified cylindrical Bessel functions.
110template<typename _Tp>
111 struct testcase_cyl_bessel_i
112 {
113 _Tp f0;
114 _Tp nu;
115 _Tp x;
116 _Tp f;
117 };
118
119// Cylindrical Bessel functions (of the first kind).
120template<typename _Tp>
121 struct testcase_cyl_bessel_j
122 {
123 _Tp f0;
124 _Tp nu;
125 _Tp x;
126 _Tp f;
127 };
128
129// Irregular modified cylindrical Bessel functions.
130template<typename _Tp>
131 struct testcase_cyl_bessel_k
132 {
133 _Tp f0;
134 _Tp nu;
135 _Tp x;
136 _Tp f;
137 };
138
139// Cylindrical Neumann functions.
140template<typename _Tp>
141 struct testcase_cyl_neumann
142 {
143 _Tp f0;
144 _Tp nu;
145 _Tp x;
146 _Tp f;
147 };
148
149// Elliptic integrals of the first kind.
150template<typename _Tp>
151 struct testcase_ellint_1
152 {
153 _Tp f0;
154 _Tp k;
155 _Tp phi;
156 _Tp f;
157 };
158
159// Elliptic integrals of the second kind.
160template<typename _Tp>
161 struct testcase_ellint_2
162 {
163 _Tp f0;
164 _Tp k;
165 _Tp phi;
166 _Tp f;
167 };
168
169// Elliptic integrals of the third kind.
170template<typename _Tp>
171 struct testcase_ellint_3
172 {
173 _Tp f0;
174 _Tp k;
175 _Tp nu;
176 _Tp phi;
177 _Tp f;
178 };
179
180// Exponential integral.
181template<typename _Tp>
182 struct testcase_expint
183 {
184 _Tp f0;
185 _Tp x;
186 _Tp f;
187 };
188
189// Hermite polynomials
190template<typename _Tp>
191 struct testcase_hermite
192 {
193 _Tp f0;
194 unsigned int n;
195 _Tp x;
196 _Tp f;
197 };
198
199// Hypergeometric functions.
200template<typename _Tp>
201 struct testcase_hyperg
202 {
203 _Tp f0;
204 _Tp a;
205 _Tp b;
206 _Tp c;
207 _Tp x;
208 _Tp f;
209 };
210
211// Laguerre polynomials.
212template<typename _Tp>
213 struct testcase_laguerre
214 {
215 _Tp f0;
216 unsigned int n;
217 _Tp x;
218 _Tp f;
219 };
220
221// Legendre polynomials.
222template<typename _Tp>
223 struct testcase_legendre
224 {
225 _Tp f0;
226 unsigned int l;
227 _Tp x;
228 _Tp f;
229 };
230
231// Riemann zeta function.
232template<typename _Tp>
233 struct testcase_riemann_zeta
234 {
235 _Tp f0;
236 _Tp s;
237 _Tp f;
238 };
239
240// Hurwitz zeta function.
241template<typename _Tp>
242 struct testcase_hurwitz_zeta
243 {
244 _Tp f0;
245 _Tp s;
246 _Tp a;
247 _Tp f;
248 };
249
250// Spherical Bessel functions.
251template<typename _Tp>
252 struct testcase_sph_bessel
253 {
254 _Tp f0;
255 unsigned int n;
256 _Tp x;
257 _Tp f;
258 };
259
260// Regular modified spherical Bessel functions.
261template<typename _Tp>
262 struct testcase_sph_bessel_i
263 {
264 _Tp f0;
265 unsigned int n;
266 _Tp x;
267 _Tp f;
268 };
269
270// Irregular modified spherical Bessel functions.
271template<typename _Tp>
272 struct testcase_sph_bessel_k
273 {
274 _Tp f0;
275 unsigned int n;
276 _Tp x;
277 _Tp f;
278 };
279
280// Spherical Legendre functions.
281template<typename _Tp>
282 struct testcase_sph_legendre
283 {
284 _Tp f0;
285 unsigned int l;
286 unsigned int m;
287 _Tp theta;
288 _Tp f;
289 };
290
291// Spherical Neumann functions.
292template<typename _Tp>
293 struct testcase_sph_neumann
294 {
295 _Tp f0;
296 unsigned int n;
297 _Tp x;
298 _Tp f;
299 };
300
301// Airy Ai functions.
302template<typename _Tp>
303 struct testcase_airy_ai
304 {
305 _Tp f0;
306 _Tp x;
307 _Tp f;
308 };
309
310// Airy Bi functions.
311template<typename _Tp>
312 struct testcase_airy_bi
313 {
314 _Tp f0;
315 _Tp x;
316 _Tp f;
317 };
318
319// Upper incomplete gamma functions.
320template<typename _Tp>
321 struct testcase_gamma_u
322 {
323 _Tp f0;
324 _Tp n;
325 _Tp x;
326 _Tp f;
327 };
328
329// Lower incomplete gamma functions.
330template<typename _Tp>
331 struct testcase_gamma_l
332 {
333 _Tp f0;
334 _Tp n;
335 _Tp x;
336 _Tp f;
337 };
338
339// Dilogarithm functions.
340template<typename _Tp>
341 struct testcase_dilog
342 {
343 _Tp f0;
344 _Tp x;
345 _Tp f;
346 };
347
348// Digamma functions.
349template<typename _Tp>
350 struct testcase_gamma
351 {
352 _Tp f0;
353 _Tp x;
354 _Tp f;
355 };
356
357template<typename _Tp>
358 struct testcase_comp_ellint_rf
359 {
360 _Tp f0;
361 _Tp x;
362 _Tp y;
363 _Tp f;
364 };
365
366template<typename _Tp>
367 struct testcase_ellint_rf
368 {
369 _Tp f0;
370 _Tp x;
371 _Tp y;
372 _Tp z;
373 _Tp f;
374 };
375
376template<typename _Tp>
377 struct testcase_ellint_rj
378 {
379 _Tp f0;
380 _Tp x;
381 _Tp y;
382 _Tp z;
383 _Tp p;
384 _Tp f;
385 };
386
387template<typename _Tp>
388 struct testcase_ellint_rd
389 {
390 _Tp f0;
391 _Tp x;
392 _Tp y;
393 _Tp z;
394 _Tp f;
395 };
396
397template<typename _Tp>
398 struct testcase_comp_ellint_rg
399 {
400 _Tp f0;
401 _Tp x;
402 _Tp y;
403 _Tp f;
404 };
405
406template<typename _Tp>
407 struct testcase_ellint_rg
408 {
409 _Tp f0;
410 _Tp x;
411 _Tp y;
412 _Tp z;
413 _Tp f;
414 };
415
416#endif // _GLIBCXX_SPECFUN_TESTCASE_H