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