]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/testcase.h
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / tr1 / 5_numerical_facilities / special_functions / testcase.h
1 // 2007-02-04 Edward Smith-Rowland <3dw4rd@verizon.net>
2 //
3 // Copyright (C) 2007-2023 Free Software Foundation, Inc.
4 //
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 3, or (at your option)
9 // any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING3. If not see
18 // <http://www.gnu.org/licenses/>.
19
20 // testcase.h
21
22 //
23 // These are little PODs for special function inputs and
24 // expected results for the testsuite.
25 //
26
27 // 5.2.1.1 Associated Laguerre polynomials.
28 template <typename _Tp>
29 struct testcase_assoc_laguerre
30 {
31 _Tp f0;
32 unsigned int n;
33 unsigned int m;
34 _Tp x;
35 _Tp f;
36 };
37
38 // 5.2.1.2 Associated Legendre functions.
39 template <typename _Tp>
40 struct testcase_assoc_legendre
41 {
42 _Tp f0;
43 unsigned int l;
44 unsigned int m;
45 _Tp x;
46 _Tp f;
47 };
48
49 // 5.2.1.3 Beta function.
50 template <typename _Tp>
51 struct testcase_beta
52 {
53 _Tp f0;
54 _Tp x;
55 _Tp y;
56 _Tp f;
57 };
58
59 // 5.2.1.4 Complete elliptic integrals of the first kind.
60 template <typename _Tp>
61 struct testcase_comp_ellint_1
62 {
63 _Tp f0;
64 _Tp k;
65 _Tp f;
66 };
67
68 // 5.2.1.5 Complete elliptic integrals of the second kind.
69 template <typename _Tp>
70 struct testcase_comp_ellint_2
71 {
72 _Tp f0;
73 _Tp k;
74 _Tp f;
75 };
76
77 // 5.2.1.6 Complete elliptic integrals of the third kind.
78 template <typename _Tp>
79 struct testcase_comp_ellint_3
80 {
81 _Tp f0;
82 _Tp k;
83 _Tp nu;
84 _Tp f;
85 };
86
87 // 5.2.1.7 Confluent hypergeometric functions.
88 template <typename _Tp>
89 struct testcase_conf_hyperg
90 {
91 _Tp f0;
92 _Tp a;
93 _Tp c;
94 _Tp x;
95 _Tp f;
96 };
97
98 // 5.2.1.8 Regular modified cylindrical Bessel functions.
99 template <typename _Tp>
100 struct testcase_cyl_bessel_i
101 {
102 _Tp f0;
103 _Tp nu;
104 _Tp x;
105 _Tp f;
106 };
107
108 // 5.2.1.9 Cylindrical Bessel functions (of the first kind).
109 template <typename _Tp>
110 struct testcase_cyl_bessel_j
111 {
112 _Tp f0;
113 _Tp nu;
114 _Tp x;
115 _Tp f;
116 };
117
118 // 5.2.1.10 Irregular modified cylindrical Bessel functions.
119 template <typename _Tp>
120 struct testcase_cyl_bessel_k
121 {
122 _Tp f0;
123 _Tp nu;
124 _Tp x;
125 _Tp f;
126 };
127
128 // 5.2.1.11 Cylindrical Neumann functions.
129 template <typename _Tp>
130 struct testcase_cyl_neumann
131 {
132 _Tp f0;
133 _Tp nu;
134 _Tp x;
135 _Tp f;
136 };
137
138 // 5.2.1.12 Elliptic integrals of the first kind.
139 template <typename _Tp>
140 struct testcase_ellint_1
141 {
142 _Tp f0;
143 _Tp k;
144 _Tp phi;
145 _Tp f;
146 };
147
148 // 5.2.1.13 Elliptic integrals of the second kind.
149 template <typename _Tp>
150 struct testcase_ellint_2
151 {
152 _Tp f0;
153 _Tp k;
154 _Tp phi;
155 _Tp f;
156 };
157
158 // 5.2.1.14 Elliptic integrals of the third kind.
159 template <typename _Tp>
160 struct testcase_ellint_3
161 {
162 _Tp f0;
163 _Tp k;
164 _Tp nu;
165 _Tp phi;
166 _Tp f;
167 };
168
169 // 5.2.1.15 Exponential integral.
170 template <typename _Tp>
171 struct testcase_expint
172 {
173 _Tp f0;
174 _Tp x;
175 _Tp f;
176 };
177
178 // 5.2.1.16 Hermite polynomials
179 template <typename _Tp>
180 struct testcase_hermite
181 {
182 _Tp f0;
183 unsigned int n;
184 _Tp x;
185 _Tp f;
186 };
187
188 // 5.2.1.17 Hypergeometric functions.
189 template <typename _Tp>
190 struct testcase_hyperg
191 {
192 _Tp f0;
193 _Tp a;
194 _Tp b;
195 _Tp c;
196 _Tp x;
197 _Tp f;
198 };
199
200 // 5.2.1.18 Laguerre polynomials.
201 template <typename _Tp>
202 struct testcase_laguerre
203 {
204 _Tp f0;
205 unsigned int n;
206 _Tp x;
207 _Tp f;
208 };
209
210 // 5.2.1.19 Legendre polynomials.
211 template <typename _Tp>
212 struct testcase_legendre
213 {
214 _Tp f0;
215 unsigned int l;
216 _Tp x;
217 _Tp f;
218 };
219
220 // 5.2.1.20 Riemann zeta function.
221 template <typename _Tp>
222 struct testcase_riemann_zeta
223 {
224 _Tp f0;
225 _Tp x;
226 _Tp f;
227 };
228
229 // 5.2.1.21 Spherical Bessel functions.
230 template <typename _Tp>
231 struct testcase_sph_bessel
232 {
233 _Tp f0;
234 unsigned int n;
235 _Tp x;
236 _Tp f;
237 };
238
239 // 5.2.1.22 Spherical Legendre functions.
240 template <typename _Tp>
241 struct testcase_sph_legendre
242 {
243 _Tp f0;
244 unsigned int l;
245 unsigned int m;
246 _Tp theta;
247 _Tp f;
248 };
249
250 // 5.2.1.23 Spherical Neumann functions.
251 template <typename _Tp>
252 struct testcase_sph_neumann
253 {
254 _Tp f0;
255 unsigned int n;
256 _Tp x;
257 _Tp f;
258 };