]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/math/test/compile_test/tr1_incl_test.cpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / math / test / compile_test / tr1_incl_test.cpp
1 // Copyright John Maddock 2008.
2 // Use, modification and distribution are subject to the
3 // Boost Software License, Version 1.0. (See accompanying file
4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 //
6 // Basic sanity check that header <boost/math/tr1.hpp>
7 // #includes all the files that it needs to.
8 //
9 #include <boost/math/tr1.hpp>
10 //
11 // Note this header includes no other headers, this is
12 // important if this test is to be meaningful:
13 //
14 #include "test_compile_result.hpp"
15
16 void compile_and_link_test()
17 {
18 unsigned ui = 0;
19
20 check_result<float>(boost::math::tr1::assoc_laguerre(ui, ui, f));
21 check_result<float>(boost::math::tr1::assoc_laguerref(ui, ui, f));
22 check_result<double>(boost::math::tr1::assoc_laguerre(ui, ui, d));
23 check_result<long double>(boost::math::tr1::assoc_laguerre(ui, ui, l));
24 check_result<long double>(boost::math::tr1::assoc_laguerrel(ui, ui, l));
25 check_result<double>(boost::math::tr1::assoc_laguerre(ui, ui, i));
26 check_result<double>(boost::math::tr1::assoc_laguerre(ui, ui, ui));
27
28 check_result<float>(boost::math::tr1::assoc_legendre(ui, ui, f));
29 check_result<float>(boost::math::tr1::assoc_legendref(ui, ui, f));
30 check_result<double>(boost::math::tr1::assoc_legendre(ui, ui, d));
31 check_result<long double>(boost::math::tr1::assoc_legendre(ui, ui, l));
32 check_result<long double>(boost::math::tr1::assoc_legendrel(ui, ui, l));
33 check_result<double>(boost::math::tr1::assoc_legendre(ui, ui, i));
34 check_result<double>(boost::math::tr1::assoc_legendre(ui, ui, ui));
35
36 check_result<float>(boost::math::tr1::beta(f, f));
37 check_result<float>(boost::math::tr1::betaf(f, f));
38 check_result<double>(boost::math::tr1::beta(d, d));
39 check_result<long double>(boost::math::tr1::beta(l, l));
40 check_result<long double>(boost::math::tr1::betal(l, l));
41 check_result<double>(boost::math::tr1::beta(ui, ui));
42 check_result<double>(boost::math::tr1::beta(i, ui));
43 check_result<double>(boost::math::tr1::beta(f, d));
44 check_result<long double>(boost::math::tr1::beta(l, d));
45
46 check_result<float>(boost::math::tr1::comp_ellint_1(f));
47 check_result<float>(boost::math::tr1::comp_ellint_1f(f));
48 check_result<double>(boost::math::tr1::comp_ellint_1(d));
49 check_result<long double>(boost::math::tr1::comp_ellint_1(l));
50 check_result<long double>(boost::math::tr1::comp_ellint_1l(l));
51 check_result<double>(boost::math::tr1::comp_ellint_1(ui));
52 check_result<double>(boost::math::tr1::comp_ellint_1(i));
53
54 check_result<float>(boost::math::tr1::comp_ellint_2(f));
55 check_result<float>(boost::math::tr1::comp_ellint_2f(f));
56 check_result<double>(boost::math::tr1::comp_ellint_2(d));
57 check_result<long double>(boost::math::tr1::comp_ellint_2(l));
58 check_result<long double>(boost::math::tr1::comp_ellint_2l(l));
59 check_result<double>(boost::math::tr1::comp_ellint_2(ui));
60 check_result<double>(boost::math::tr1::comp_ellint_2(i));
61
62 check_result<float>(boost::math::tr1::comp_ellint_3(f, f));
63 check_result<float>(boost::math::tr1::comp_ellint_3f(f, f));
64 check_result<double>(boost::math::tr1::comp_ellint_3(d, d));
65 check_result<long double>(boost::math::tr1::comp_ellint_3(l, l));
66 check_result<long double>(boost::math::tr1::comp_ellint_3l(l, l));
67 check_result<double>(boost::math::tr1::comp_ellint_3(ui, ui));
68 check_result<double>(boost::math::tr1::comp_ellint_3(i, ui));
69 check_result<double>(boost::math::tr1::comp_ellint_3(f, d));
70 check_result<long double>(boost::math::tr1::comp_ellint_3(l, d));
71
72 check_result<float>(boost::math::tr1::cyl_bessel_i(f, f));
73 check_result<float>(boost::math::tr1::cyl_bessel_if(f, f));
74 check_result<double>(boost::math::tr1::cyl_bessel_i(d, d));
75 check_result<long double>(boost::math::tr1::cyl_bessel_i(l, l));
76 check_result<long double>(boost::math::tr1::cyl_bessel_il(l, l));
77 check_result<double>(boost::math::tr1::cyl_bessel_i(ui, ui));
78 check_result<double>(boost::math::tr1::cyl_bessel_i(i, ui));
79 check_result<double>(boost::math::tr1::cyl_bessel_i(f, d));
80 check_result<long double>(boost::math::tr1::cyl_bessel_i(l, d));
81
82 check_result<float>(boost::math::tr1::cyl_bessel_j(f, f));
83 check_result<float>(boost::math::tr1::cyl_bessel_jf(f, f));
84 check_result<double>(boost::math::tr1::cyl_bessel_j(d, d));
85 check_result<long double>(boost::math::tr1::cyl_bessel_j(l, l));
86 check_result<long double>(boost::math::tr1::cyl_bessel_jl(l, l));
87 check_result<double>(boost::math::tr1::cyl_bessel_j(ui, ui));
88 check_result<double>(boost::math::tr1::cyl_bessel_j(i, ui));
89 check_result<double>(boost::math::tr1::cyl_bessel_j(f, d));
90 check_result<long double>(boost::math::tr1::cyl_bessel_j(l, d));
91
92 check_result<float>(boost::math::tr1::cyl_bessel_k(f, f));
93 check_result<float>(boost::math::tr1::cyl_bessel_kf(f, f));
94 check_result<double>(boost::math::tr1::cyl_bessel_k(d, d));
95 check_result<long double>(boost::math::tr1::cyl_bessel_k(l, l));
96 check_result<long double>(boost::math::tr1::cyl_bessel_kl(l, l));
97 check_result<double>(boost::math::tr1::cyl_bessel_k(ui, ui));
98 check_result<double>(boost::math::tr1::cyl_bessel_k(i, ui));
99 check_result<double>(boost::math::tr1::cyl_bessel_k(f, d));
100 check_result<long double>(boost::math::tr1::cyl_bessel_k(l, d));
101
102 check_result<float>(boost::math::tr1::cyl_neumann(f, f));
103 check_result<float>(boost::math::tr1::cyl_neumannf(f, f));
104 check_result<double>(boost::math::tr1::cyl_neumann(d, d));
105 check_result<long double>(boost::math::tr1::cyl_neumann(l, l));
106 check_result<long double>(boost::math::tr1::cyl_neumannl(l, l));
107 check_result<double>(boost::math::tr1::cyl_neumann(ui, ui));
108 check_result<double>(boost::math::tr1::cyl_neumann(i, ui));
109 check_result<double>(boost::math::tr1::cyl_neumann(f, d));
110 check_result<long double>(boost::math::tr1::cyl_neumann(l, d));
111
112 check_result<float>(boost::math::tr1::ellint_1(f, f));
113 check_result<float>(boost::math::tr1::ellint_1f(f, f));
114 check_result<double>(boost::math::tr1::ellint_1(d, d));
115 check_result<long double>(boost::math::tr1::ellint_1(l, l));
116 check_result<long double>(boost::math::tr1::ellint_1l(l, l));
117 check_result<double>(boost::math::tr1::ellint_1(ui, ui));
118 check_result<double>(boost::math::tr1::ellint_1(i, ui));
119 check_result<double>(boost::math::tr1::ellint_1(f, d));
120 check_result<long double>(boost::math::tr1::ellint_1(l, d));
121
122 check_result<float>(boost::math::tr1::ellint_2(f, f));
123 check_result<float>(boost::math::tr1::ellint_2f(f, f));
124 check_result<double>(boost::math::tr1::ellint_2(d, d));
125 check_result<long double>(boost::math::tr1::ellint_2(l, l));
126 check_result<long double>(boost::math::tr1::ellint_2l(l, l));
127 check_result<double>(boost::math::tr1::ellint_2(ui, ui));
128 check_result<double>(boost::math::tr1::ellint_2(i, ui));
129 check_result<double>(boost::math::tr1::ellint_2(f, d));
130 check_result<long double>(boost::math::tr1::ellint_2(l, d));
131
132 check_result<float>(boost::math::tr1::ellint_3(f, f, f));
133 check_result<float>(boost::math::tr1::ellint_3f(f, f, f));
134 check_result<double>(boost::math::tr1::ellint_3(d, d, d));
135 check_result<long double>(boost::math::tr1::ellint_3(l, l, l));
136 check_result<long double>(boost::math::tr1::ellint_3l(l, l, l));
137 check_result<double>(boost::math::tr1::ellint_3(ui, ui, i));
138 check_result<double>(boost::math::tr1::ellint_3(i, ui, f));
139 check_result<double>(boost::math::tr1::ellint_3(f, d, i));
140 check_result<long double>(boost::math::tr1::ellint_3(l, d, f));
141
142 check_result<float>(boost::math::tr1::expint(f));
143 check_result<float>(boost::math::tr1::expintf(f));
144 check_result<double>(boost::math::tr1::expint(d));
145 check_result<long double>(boost::math::tr1::expint(l));
146 check_result<long double>(boost::math::tr1::expintl(l));
147 check_result<double>(boost::math::tr1::expint(ui));
148 check_result<double>(boost::math::tr1::expint(i));
149
150 check_result<float>(boost::math::tr1::hermite(ui, f));
151 check_result<float>(boost::math::tr1::hermitef(ui, f));
152 check_result<double>(boost::math::tr1::hermite(ui, d));
153 check_result<long double>(boost::math::tr1::hermite(ui, l));
154 check_result<long double>(boost::math::tr1::hermitel(ui, l));
155 check_result<double>(boost::math::tr1::hermite(ui, i));
156 check_result<double>(boost::math::tr1::hermite(ui, ui));
157
158 check_result<float>(boost::math::tr1::laguerre(ui, f));
159 check_result<float>(boost::math::tr1::laguerref(ui, f));
160 check_result<double>(boost::math::tr1::laguerre(ui, d));
161 check_result<long double>(boost::math::tr1::laguerre(ui, l));
162 check_result<long double>(boost::math::tr1::laguerrel(ui, l));
163 check_result<double>(boost::math::tr1::laguerre(ui, i));
164 check_result<double>(boost::math::tr1::laguerre(ui, ui));
165
166 check_result<float>(boost::math::tr1::legendre(ui, f));
167 check_result<float>(boost::math::tr1::legendref(ui, f));
168 check_result<double>(boost::math::tr1::legendre(ui, d));
169 check_result<long double>(boost::math::tr1::legendre(ui, l));
170 check_result<long double>(boost::math::tr1::legendrel(ui, l));
171 check_result<double>(boost::math::tr1::legendre(ui, i));
172 check_result<double>(boost::math::tr1::legendre(ui, ui));
173
174 check_result<float>(boost::math::tr1::riemann_zeta(f));
175 check_result<float>(boost::math::tr1::riemann_zetaf(f));
176 check_result<double>(boost::math::tr1::riemann_zeta(d));
177 check_result<long double>(boost::math::tr1::riemann_zeta(l));
178 check_result<long double>(boost::math::tr1::riemann_zetal(l));
179 check_result<double>(boost::math::tr1::riemann_zeta(ui));
180 check_result<double>(boost::math::tr1::riemann_zeta(i));
181
182 check_result<float>(boost::math::tr1::sph_bessel(ui, f));
183 check_result<float>(boost::math::tr1::sph_besself(ui, f));
184 check_result<double>(boost::math::tr1::sph_bessel(ui, d));
185 check_result<long double>(boost::math::tr1::sph_bessel(ui, l));
186 check_result<long double>(boost::math::tr1::sph_bessell(ui, l));
187 check_result<double>(boost::math::tr1::sph_bessel(ui, i));
188 check_result<double>(boost::math::tr1::sph_bessel(ui, ui));
189
190 check_result<float>(boost::math::tr1::sph_legendre(ui, ui, f));
191 check_result<float>(boost::math::tr1::sph_legendref(ui, ui, f));
192 check_result<double>(boost::math::tr1::sph_legendre(ui, ui, d));
193 check_result<long double>(boost::math::tr1::sph_legendre(ui, ui, l));
194 check_result<long double>(boost::math::tr1::sph_legendrel(ui, ui, l));
195 check_result<double>(boost::math::tr1::sph_legendre(ui, ui, i));
196 check_result<double>(boost::math::tr1::sph_legendre(ui, ui, ui));
197
198 check_result<float>(boost::math::tr1::sph_neumann(ui, f));
199 check_result<float>(boost::math::tr1::sph_neumannf(ui, f));
200 check_result<double>(boost::math::tr1::sph_neumann(ui, d));
201 check_result<long double>(boost::math::tr1::sph_neumann(ui, l));
202 check_result<long double>(boost::math::tr1::sph_neumannl(ui, l));
203 check_result<double>(boost::math::tr1::sph_neumann(ui, i));
204 check_result<double>(boost::math::tr1::sph_neumann(ui, ui));
205
206 check_result<float>(boost::math::tr1::acosh(f));
207 check_result<float>(boost::math::tr1::acoshf(f));
208 check_result<double>(boost::math::tr1::acosh(d));
209 check_result<long double>(boost::math::tr1::acosh(l));
210 check_result<long double>(boost::math::tr1::acoshl(l));
211 check_result<double>(boost::math::tr1::acosh(ui));
212 check_result<double>(boost::math::tr1::acosh(i));
213
214 check_result<float>(boost::math::tr1::asinh(f));
215 check_result<float>(boost::math::tr1::asinhf(f));
216 check_result<double>(boost::math::tr1::asinh(d));
217 check_result<long double>(boost::math::tr1::asinh(l));
218 check_result<long double>(boost::math::tr1::asinhl(l));
219 check_result<double>(boost::math::tr1::asinh(ui));
220 check_result<double>(boost::math::tr1::asinh(i));
221
222 check_result<float>(boost::math::tr1::atanh(f));
223 check_result<float>(boost::math::tr1::atanhf(f));
224 check_result<double>(boost::math::tr1::atanh(d));
225 check_result<long double>(boost::math::tr1::atanh(l));
226 check_result<long double>(boost::math::tr1::atanhl(l));
227 check_result<double>(boost::math::tr1::atanh(ui));
228 check_result<double>(boost::math::tr1::atanh(i));
229
230 check_result<float>(boost::math::tr1::cbrt(f));
231 check_result<float>(boost::math::tr1::cbrtf(f));
232 check_result<double>(boost::math::tr1::cbrt(d));
233 check_result<long double>(boost::math::tr1::cbrt(l));
234 check_result<long double>(boost::math::tr1::cbrtl(l));
235 check_result<double>(boost::math::tr1::cbrt(ui));
236 check_result<double>(boost::math::tr1::cbrt(i));
237
238 check_result<float>(boost::math::tr1::copysign(f, f));
239 check_result<float>(boost::math::tr1::copysignf(f, f));
240 check_result<double>(boost::math::tr1::copysign(d, d));
241 check_result<long double>(boost::math::tr1::copysign(l, l));
242 check_result<long double>(boost::math::tr1::copysignl(l, l));
243 check_result<double>(boost::math::tr1::copysign(d, i));
244 check_result<double>(boost::math::tr1::copysign(ui, f));
245
246 check_result<float>(boost::math::tr1::erf(f));
247 check_result<float>(boost::math::tr1::erff(f));
248 check_result<double>(boost::math::tr1::erf(d));
249 check_result<long double>(boost::math::tr1::erf(l));
250 check_result<long double>(boost::math::tr1::erfl(l));
251 check_result<double>(boost::math::tr1::erf(ui));
252 check_result<double>(boost::math::tr1::erf(i));
253
254 check_result<float>(boost::math::tr1::erfc(f));
255 check_result<float>(boost::math::tr1::erfcf(f));
256 check_result<double>(boost::math::tr1::erfc(d));
257 check_result<long double>(boost::math::tr1::erfc(l));
258 check_result<long double>(boost::math::tr1::erfcl(l));
259 check_result<double>(boost::math::tr1::erfc(ui));
260 check_result<double>(boost::math::tr1::erfc(i));
261
262 check_result<float>(boost::math::tr1::expm1(f));
263 check_result<float>(boost::math::tr1::expm1f(f));
264 check_result<double>(boost::math::tr1::expm1(d));
265 check_result<long double>(boost::math::tr1::expm1(l));
266 check_result<long double>(boost::math::tr1::expm1l(l));
267 check_result<double>(boost::math::tr1::expm1(ui));
268 check_result<double>(boost::math::tr1::expm1(i));
269
270 check_result<float>(boost::math::tr1::fmin(f, f));
271 check_result<float>(boost::math::tr1::fminf(f, f));
272 check_result<double>(boost::math::tr1::fmin(d, d));
273 check_result<long double>(boost::math::tr1::fmin(l, l));
274 check_result<long double>(boost::math::tr1::fminl(l, l));
275 check_result<double>(boost::math::tr1::fmin(d, i));
276 check_result<double>(boost::math::tr1::fmin(ui, f));
277
278 check_result<float>(boost::math::tr1::fmax(f, f));
279 check_result<float>(boost::math::tr1::fmaxf(f, f));
280 check_result<double>(boost::math::tr1::fmax(d, d));
281 check_result<long double>(boost::math::tr1::fmax(l, l));
282 check_result<long double>(boost::math::tr1::fmaxl(l, l));
283 check_result<double>(boost::math::tr1::fmax(d, i));
284 check_result<double>(boost::math::tr1::fmax(ui, f));
285
286 check_result<float>(boost::math::tr1::hypot(f, f));
287 check_result<float>(boost::math::tr1::hypotf(f, f));
288 check_result<double>(boost::math::tr1::hypot(d, d));
289 check_result<long double>(boost::math::tr1::hypot(l, l));
290 check_result<long double>(boost::math::tr1::hypotl(l, l));
291 check_result<double>(boost::math::tr1::hypot(d, i));
292 check_result<double>(boost::math::tr1::hypot(ui, f));
293
294 check_result<float>(boost::math::tr1::lgamma(f));
295 check_result<float>(boost::math::tr1::lgammaf(f));
296 check_result<double>(boost::math::tr1::lgamma(d));
297 check_result<long double>(boost::math::tr1::lgamma(l));
298 check_result<long double>(boost::math::tr1::lgammal(l));
299 check_result<double>(boost::math::tr1::lgamma(ui));
300 check_result<double>(boost::math::tr1::lgamma(i));
301
302 check_result<long long>(boost::math::tr1::llround(f));
303 check_result<long long>(boost::math::tr1::llroundf(f));
304 check_result<long long>(boost::math::tr1::llround(d));
305 check_result<long long>(boost::math::tr1::llround(l));
306 check_result<long long>(boost::math::tr1::llroundl(l));
307 check_result<long long>(boost::math::tr1::llround(ui));
308 check_result<long long>(boost::math::tr1::llround(i));
309
310 check_result<float>(boost::math::tr1::log1p(f));
311 check_result<float>(boost::math::tr1::log1pf(f));
312 check_result<double>(boost::math::tr1::log1p(d));
313 check_result<long double>(boost::math::tr1::log1p(l));
314 check_result<long double>(boost::math::tr1::log1pl(l));
315 check_result<double>(boost::math::tr1::log1p(ui));
316 check_result<double>(boost::math::tr1::log1p(i));
317
318 check_result<long>(boost::math::tr1::lround(f));
319 check_result<long>(boost::math::tr1::lroundf(f));
320 check_result<long>(boost::math::tr1::lround(d));
321 check_result<long>(boost::math::tr1::lround(l));
322 check_result<long>(boost::math::tr1::lroundl(l));
323 check_result<long>(boost::math::tr1::lround(ui));
324 check_result<long>(boost::math::tr1::lround(i));
325
326 check_result<float>(boost::math::tr1::round(f));
327 check_result<float>(boost::math::tr1::roundf(f));
328 check_result<double>(boost::math::tr1::round(d));
329 check_result<long double>(boost::math::tr1::round(l));
330 check_result<long double>(boost::math::tr1::roundl(l));
331 check_result<double>(boost::math::tr1::round(ui));
332 check_result<double>(boost::math::tr1::round(i));
333
334 check_result<float>(boost::math::tr1::nextafter(f, f));
335 check_result<float>(boost::math::tr1::nextafterf(f, f));
336 check_result<double>(boost::math::tr1::nextafter(d, d));
337 check_result<long double>(boost::math::tr1::nextafter(l, l));
338 check_result<long double>(boost::math::tr1::nextafterl(l, l));
339 check_result<double>(boost::math::tr1::nextafter(d, i));
340 check_result<double>(boost::math::tr1::nextafter(ui, f));
341
342 check_result<float>(boost::math::tr1::nexttoward(f, f));
343 check_result<float>(boost::math::tr1::nexttowardf(f, f));
344 check_result<double>(boost::math::tr1::nexttoward(d, d));
345 check_result<long double>(boost::math::tr1::nexttoward(l, l));
346 check_result<long double>(boost::math::tr1::nexttowardl(l, l));
347 check_result<double>(boost::math::tr1::nexttoward(d, i));
348 check_result<double>(boost::math::tr1::nexttoward(ui, f));
349
350 check_result<float>(boost::math::tr1::tgamma(f));
351 check_result<float>(boost::math::tr1::tgammaf(f));
352 check_result<double>(boost::math::tr1::tgamma(d));
353 check_result<long double>(boost::math::tr1::tgamma(l));
354 check_result<long double>(boost::math::tr1::tgammal(l));
355 check_result<double>(boost::math::tr1::tgamma(ui));
356 check_result<double>(boost::math::tr1::tgamma(i));
357
358 check_result<float>(boost::math::tr1::trunc(f));
359 check_result<float>(boost::math::tr1::truncf(f));
360 check_result<double>(boost::math::tr1::trunc(d));
361 check_result<long double>(boost::math::tr1::trunc(l));
362 check_result<long double>(boost::math::tr1::truncl(l));
363 check_result<double>(boost::math::tr1::trunc(ui));
364 check_result<double>(boost::math::tr1::trunc(i));
365
366 }