OSDN Git Service

Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.
[pf3gnuchains/gcc-fork.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, 2009 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 //  expexted 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 };