OSDN Git Service

* testsuite/tr1/5_numerical_facilities/special_functions/
[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 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 2, 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 COPYING.  If not, write to the Free
18 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19 // USA.
20
21 //  testcase.h
22
23 //
24 //  These are little PODs for special function inputs and
25 //  expexted results for the testsuite.
26 //
27
28 //  5.2.1.1  Associated Laguerre polynomials.
29 template <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 //  5.2.1.2  Associated Legendre functions.
40 template <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 //  5.2.1.3  Beta function.
51 template <typename _Tp>
52 struct testcase_beta
53 {
54   _Tp f0;
55   _Tp x;
56   _Tp y;
57   _Tp f;
58 };
59
60 //  5.2.1.4  Complete elliptic integrals of the first kind.
61 template <typename _Tp>
62 struct testcase_comp_ellint_1
63 {
64   _Tp f0;
65   _Tp k;
66   _Tp f;
67 };
68
69 //  5.2.1.5  Complete elliptic integrals of the second kind.
70 template <typename _Tp>
71 struct testcase_comp_ellint_2
72 {
73   _Tp f0;
74   _Tp k;
75   _Tp f;
76 };
77
78 //  5.2.1.6  Complete elliptic integrals of the third kind.
79 template <typename _Tp>
80 struct testcase_comp_ellint_3
81 {
82   _Tp f0;
83   _Tp k;
84   _Tp nu;
85   _Tp f;
86 };
87
88 //  5.2.1.7  Confluent hypergeometric functions.
89 template <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 //  5.2.1.8  Regular modified cylindrical Bessel functions.
100 template <typename _Tp>
101 struct testcase_cyl_bessel_i
102 {
103   _Tp f0;
104   _Tp nu;
105   _Tp x;
106   _Tp f;
107 };
108
109 //  5.2.1.9  Cylindrical Bessel functions (of the first kind).
110 template <typename _Tp>
111 struct testcase_cyl_bessel_j
112 {
113   _Tp f0;
114   _Tp nu;
115   _Tp x;
116   _Tp f;
117 };
118
119 //  5.2.1.10  Irregular modified cylindrical Bessel functions.
120 template <typename _Tp>
121 struct testcase_cyl_bessel_k
122 {
123   _Tp f0;
124   _Tp nu;
125   _Tp x;
126   _Tp f;
127 };
128
129 //  5.2.1.11  Cylindrical Neumann functions.
130 template <typename _Tp>
131 struct testcase_cyl_neumann
132 {
133   _Tp f0;
134   _Tp nu;
135   _Tp x;
136   _Tp f;
137 };
138
139 //  5.2.1.12  Elliptic integrals of the first kind.
140 template <typename _Tp>
141 struct testcase_ellint_1
142 {
143   _Tp f0;
144   _Tp k;
145   _Tp phi;
146   _Tp f;
147 };
148
149 //  5.2.1.13  Elliptic integrals of the second kind.
150 template <typename _Tp>
151 struct testcase_ellint_2
152 {
153   _Tp f0;
154   _Tp k;
155   _Tp phi;
156   _Tp f;
157 };
158
159 //  5.2.1.14  Elliptic integrals of the third kind.
160 template <typename _Tp>
161 struct testcase_ellint_3
162 {
163   _Tp f0;
164   _Tp k;
165   _Tp nu;
166   _Tp phi;
167   _Tp f;
168 };
169
170 //  5.2.1.15  Exponential integral.
171 template <typename _Tp>
172 struct testcase_expint
173 {
174   _Tp f0;
175   _Tp x;
176   _Tp f;
177 };
178
179 //  5.2.1.16  Hermite polynomials
180 template <typename _Tp>
181 struct testcase_hermite
182 {
183   _Tp f0;
184   unsigned int n;
185   _Tp x;
186   _Tp f;
187 };
188
189 //  5.2.1.17  Hypergeometric functions.
190 template <typename _Tp>
191 struct testcase_hyperg
192 {
193   _Tp f0;
194   _Tp a;
195   _Tp b;
196   _Tp c;
197   _Tp x;
198   _Tp f;
199 };
200
201 //  5.2.1.18  Laguerre polynomials.
202 template <typename _Tp>
203 struct testcase_laguerre
204 {
205   _Tp f0;
206   unsigned int n;
207   _Tp x;
208   _Tp f;
209 };
210
211 //  5.2.1.19  Legendre polynomials.
212 template <typename _Tp>
213 struct testcase_legendre
214 {
215   _Tp f0;
216   unsigned int l;
217   _Tp x;
218   _Tp f;
219 };
220
221 //  5.2.1.20  Riemann zeta function.
222 template <typename _Tp>
223 struct testcase_riemann_zeta
224 {
225   _Tp f0;
226   _Tp x;
227   _Tp f;
228 };
229
230 //  5.2.1.21  Spherical Bessel functions.
231 template <typename _Tp>
232 struct testcase_sph_bessel
233 {
234   _Tp f0;
235   unsigned int n;
236   _Tp x;
237   _Tp f;
238 };
239
240 //  5.2.1.22  Spherical Legendre functions.
241 template <typename _Tp>
242 struct testcase_sph_legendre
243 {
244   _Tp f0;
245   unsigned int l;
246   unsigned int m;
247   _Tp theta;
248   _Tp f;
249 };
250
251 //  5.2.1.23  Spherical Neumann functions.
252 template <typename _Tp>
253 struct testcase_sph_neumann
254 {
255   _Tp f0;
256   unsigned int n;
257   _Tp x;
258   _Tp f;
259 };