]>
git.proxmox.com Git - ceph.git/blob - 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)
6 // Basic sanity check that header <boost/math/tr1.hpp>
7 // #includes all the files that it needs to.
9 #ifndef BOOST_MATH_STANDALONE
10 #include <boost/math/tr1.hpp>
12 // Note this header includes no other headers, this is
13 // important if this test is to be meaningful:
15 #include "test_compile_result.hpp"
17 void compile_and_link_test()
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));
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
));