]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/math/test/compile_test/instantiate.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / math / test / compile_test / instantiate.hpp
CommitLineData
7c673cae
FG
1// Copyright John Maddock 2006.
2// Copyright Paul A. Bristow 2007, 2010.
3// Use, modification and distribution are subject to the
4// Boost Software License, Version 1.0. (See accompanying file
5// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
7#ifndef BOOST_LIBS_MATH_TEST_INSTANTIATE_HPP
8#define BOOST_LIBS_MATH_TEST_INSTANTIATE_HPP
9
10#ifndef BOOST_MATH_ASSERT_UNDEFINED_POLICY
11# define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
12#endif
13
14#include <boost/math/distributions.hpp>
15
16#include <boost/math/special_functions.hpp>
17#include <boost/math/concepts/distributions.hpp>
18#include <boost/concept_archetype.hpp>
19
20#ifndef BOOST_MATH_INSTANTIATE_MINIMUM
21
22typedef boost::math::policies::policy<boost::math::policies::promote_float<false>, boost::math::policies::promote_double<false> > test_policy;
23
24namespace test{
25
26BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(test_policy)
27
28}
29
30namespace dist_test{
31
32BOOST_MATH_DECLARE_DISTRIBUTIONS(double, test_policy)
33
34}
35#endif
36
37#if !defined(TEST_GROUP_1) && !defined(TEST_GROUP_2) && !defined(TEST_GROUP_3) \
38 && !defined(TEST_GROUP_4) && !defined(TEST_GROUP_5) && !defined(TEST_GROUP_6) \
39 && !defined(TEST_GROUP_7) && !defined(TEST_GROUP_8) && !defined(TEST_GROUP_9)
40# define TEST_GROUP_1
41# define TEST_GROUP_2
42# define TEST_GROUP_3
43# define TEST_GROUP_4
44# define TEST_GROUP_5
45# define TEST_GROUP_6
46# define TEST_GROUP_7
47# define TEST_GROUP_8
48# define TEST_GROUP_9
49#endif
50
51template <class RealType>
52void instantiate(RealType)
53{
54 using namespace boost;
55 using namespace boost::math;
56 using namespace boost::math::concepts;
57#ifdef TEST_GROUP_1
58 function_requires<DistributionConcept<arcsine_distribution<RealType> > >();
59 function_requires<DistributionConcept<bernoulli_distribution<RealType> > >();
60 function_requires<DistributionConcept<beta_distribution<RealType> > >();
61 function_requires<DistributionConcept<binomial_distribution<RealType> > >();
62 function_requires<DistributionConcept<cauchy_distribution<RealType> > >();
63 function_requires<DistributionConcept<chi_squared_distribution<RealType> > >();
64 function_requires<DistributionConcept<exponential_distribution<RealType> > >();
65 function_requires<DistributionConcept<extreme_value_distribution<RealType> > >();
66 function_requires<DistributionConcept<fisher_f_distribution<RealType> > >();
67 function_requires<DistributionConcept<gamma_distribution<RealType> > >();
68 function_requires<DistributionConcept<geometric_distribution<RealType> > >();
69 function_requires<DistributionConcept<hypergeometric_distribution<RealType> > >();
70 function_requires<DistributionConcept<hyperexponential_distribution<RealType> > >();
71 function_requires<DistributionConcept<inverse_chi_squared_distribution<RealType> > >();
72 function_requires<DistributionConcept<inverse_gamma_distribution<RealType> > >();
73 function_requires<DistributionConcept<inverse_gaussian_distribution<RealType> > >();
74 function_requires<DistributionConcept<laplace_distribution<RealType> > >();
75 function_requires<DistributionConcept<logistic_distribution<RealType> > >();
76 function_requires<DistributionConcept<lognormal_distribution<RealType> > >();
77 function_requires<DistributionConcept<negative_binomial_distribution<RealType> > >();
78 function_requires<DistributionConcept<non_central_chi_squared_distribution<RealType> > >();
79 function_requires<DistributionConcept<non_central_beta_distribution<RealType> > >();
80 function_requires<DistributionConcept<non_central_f_distribution<RealType> > >();
81 function_requires<DistributionConcept<non_central_t_distribution<RealType> > >();
82 function_requires<DistributionConcept<normal_distribution<RealType> > >();
83 function_requires<DistributionConcept<pareto_distribution<RealType> > >();
84 function_requires<DistributionConcept<poisson_distribution<RealType> > >();
85 function_requires<DistributionConcept<rayleigh_distribution<RealType> > >();
86 function_requires<DistributionConcept<students_t_distribution<RealType> > >();
87 function_requires<DistributionConcept<skew_normal_distribution<RealType> > >();
88 function_requires<DistributionConcept<triangular_distribution<RealType> > >();
89 function_requires<DistributionConcept<uniform_distribution<RealType> > >();
90 function_requires<DistributionConcept<weibull_distribution<RealType> > >();
91#endif
92#ifndef BOOST_MATH_INSTANTIATE_MINIMUM
93#ifdef TEST_GROUP_2
94 function_requires<DistributionConcept<arcsine_distribution<RealType> > >();
95 function_requires<DistributionConcept<bernoulli_distribution<RealType, test_policy> > >();
96 function_requires<DistributionConcept<beta_distribution<RealType, test_policy> > >();
97 function_requires<DistributionConcept<binomial_distribution<RealType, test_policy> > >();
98 function_requires<DistributionConcept<cauchy_distribution<RealType, test_policy> > >();
99 function_requires<DistributionConcept<chi_squared_distribution<RealType, test_policy> > >();
100 function_requires<DistributionConcept<exponential_distribution<RealType, test_policy> > >();
101 function_requires<DistributionConcept<extreme_value_distribution<RealType, test_policy> > >();
102 function_requires<DistributionConcept<fisher_f_distribution<RealType, test_policy> > >();
103 function_requires<DistributionConcept<gamma_distribution<RealType, test_policy> > >();
104 function_requires<DistributionConcept<geometric_distribution<RealType, test_policy> > >();
105 function_requires<DistributionConcept<hypergeometric_distribution<RealType, test_policy> > >();
106 function_requires<DistributionConcept<inverse_chi_squared_distribution<RealType, test_policy> > >();
107 function_requires<DistributionConcept<inverse_gamma_distribution<RealType, test_policy> > >();
108 function_requires<DistributionConcept<inverse_gaussian_distribution<RealType, test_policy> > >();
109 function_requires<DistributionConcept<laplace_distribution<RealType, test_policy> > >();
110 function_requires<DistributionConcept<logistic_distribution<RealType, test_policy> > >();
111 function_requires<DistributionConcept<lognormal_distribution<RealType, test_policy> > >();
112 function_requires<DistributionConcept<negative_binomial_distribution<RealType, test_policy> > >();
113 function_requires<DistributionConcept<non_central_chi_squared_distribution<RealType, test_policy> > >();
114 function_requires<DistributionConcept<non_central_beta_distribution<RealType, test_policy> > >();
115 function_requires<DistributionConcept<non_central_f_distribution<RealType, test_policy> > >();
116 function_requires<DistributionConcept<non_central_t_distribution<RealType, test_policy> > >();
117 function_requires<DistributionConcept<normal_distribution<RealType, test_policy> > >();
118 function_requires<DistributionConcept<pareto_distribution<RealType, test_policy> > >();
119 function_requires<DistributionConcept<poisson_distribution<RealType, test_policy> > >();
120 function_requires<DistributionConcept<rayleigh_distribution<RealType, test_policy> > >();
121 function_requires<DistributionConcept<skew_normal_distribution<RealType, test_policy> > >();
122 function_requires<DistributionConcept<students_t_distribution<RealType, test_policy> > >();
123 function_requires<DistributionConcept<triangular_distribution<RealType, test_policy> > >();
124 function_requires<DistributionConcept<uniform_distribution<RealType, test_policy> > >();
125 function_requires<DistributionConcept<weibull_distribution<RealType, test_policy> > >();
126#endif
127#ifdef TEST_GROUP_3
128 function_requires<DistributionConcept<dist_test::arcsine > >();
129 function_requires<DistributionConcept<dist_test::bernoulli > >();
130 function_requires<DistributionConcept<dist_test::beta > >();
131 function_requires<DistributionConcept<dist_test::binomial > >();
132 function_requires<DistributionConcept<dist_test::cauchy > >();
133 function_requires<DistributionConcept<dist_test::chi_squared > >();
134 function_requires<DistributionConcept<dist_test::exponential > >();
135 function_requires<DistributionConcept<dist_test::extreme_value > >();
136 function_requires<DistributionConcept<dist_test::fisher_f > >();
137 function_requires<DistributionConcept<dist_test::gamma > >();
138 function_requires<DistributionConcept<dist_test::geometric > >();
139 function_requires<DistributionConcept<dist_test::hypergeometric > >();
140 function_requires<DistributionConcept<dist_test::inverse_chi_squared > >();
141 function_requires<DistributionConcept<dist_test::inverse_gamma > >();
142 function_requires<DistributionConcept<dist_test::inverse_gaussian > >();
143 function_requires<DistributionConcept<dist_test::laplace > >();
144 function_requires<DistributionConcept<dist_test::logistic > >();
145 function_requires<DistributionConcept<dist_test::lognormal > >();
146 function_requires<DistributionConcept<dist_test::negative_binomial > >();
147 function_requires<DistributionConcept<dist_test::non_central_chi_squared > >();
148 function_requires<DistributionConcept<dist_test::non_central_beta > >();
149 function_requires<DistributionConcept<dist_test::non_central_f > >();
150 function_requires<DistributionConcept<dist_test::non_central_t > >();
151 function_requires<DistributionConcept<dist_test::normal > >();
152 function_requires<DistributionConcept<dist_test::pareto > >();
153 function_requires<DistributionConcept<dist_test::poisson > >();
154 function_requires<DistributionConcept<dist_test::rayleigh > >();
155 function_requires<DistributionConcept<dist_test::students_t > >();
156 function_requires<DistributionConcept<dist_test::triangular > >();
157 function_requires<DistributionConcept<dist_test::uniform > >();
158 function_requires<DistributionConcept<dist_test::weibull > >();
159 function_requires<DistributionConcept<dist_test::hypergeometric > >();
160#endif
161#endif
162 int i;
163 RealType v1(0.5), v2(0.5), v3(0.5);
164 boost::detail::dummy_constructor dc;
165 boost::output_iterator_archetype<RealType> oi(dc);
166#ifdef TEST_GROUP_4
167 boost::math::tgamma(v1);
168 boost::math::tgamma1pm1(v1);
169 boost::math::lgamma(v1);
170 boost::math::lgamma(v1, &i);
171 boost::math::digamma(v1);
172 boost::math::trigamma(v1);
173 boost::math::polygamma(i, v1);
174 boost::math::tgamma_ratio(v1, v2);
175 boost::math::tgamma_delta_ratio(v1, v2);
176 boost::math::factorial<RealType>(i);
177 boost::math::unchecked_factorial<RealType>(i);
178 i = boost::math::max_factorial<RealType>::value;
179 boost::math::double_factorial<RealType>(i);
180 boost::math::rising_factorial(v1, i);
181 boost::math::falling_factorial(v1, i);
182 boost::math::tgamma(v1, v2);
183 boost::math::tgamma_lower(v1, v2);
184 boost::math::gamma_p(v1, v2);
185 boost::math::gamma_q(v1, v2);
186 boost::math::gamma_p_inv(v1, v2);
187 boost::math::gamma_q_inv(v1, v2);
188 boost::math::gamma_p_inva(v1, v2);
189 boost::math::gamma_q_inva(v1, v2);
190 boost::math::erf(v1);
191 boost::math::erfc(v1);
192 boost::math::erf_inv(v1);
193 boost::math::erfc_inv(v1);
194 boost::math::beta(v1, v2);
195 boost::math::beta(v1, v2, v3);
196 boost::math::betac(v1, v2, v3);
197 boost::math::ibeta(v1, v2, v3);
198 boost::math::ibetac(v1, v2, v3);
199 boost::math::ibeta_inv(v1, v2, v3);
200 boost::math::ibetac_inv(v1, v2, v3);
201 boost::math::ibeta_inva(v1, v2, v3);
202 boost::math::ibetac_inva(v1, v2, v3);
203 boost::math::ibeta_invb(v1, v2, v3);
204 boost::math::ibetac_invb(v1, v2, v3);
205 boost::math::gamma_p_derivative(v2, v3);
206 boost::math::ibeta_derivative(v1, v2, v3);
207 boost::math::binomial_coefficient<RealType>(i, i);
208 (boost::math::fpclassify)(v1);
209 (boost::math::isfinite)(v1);
210 (boost::math::isnormal)(v1);
211 (boost::math::isnan)(v1);
212 (boost::math::isinf)(v1);
213 (boost::math::signbit)(v1);
214 (boost::math::copysign)(v1, v2);
215 (boost::math::changesign)(v1);
216 (boost::math::sign)(v1);
217 boost::math::log1p(v1);
218 boost::math::expm1(v1);
219 boost::math::cbrt(v1);
220 boost::math::sqrt1pm1(v1);
221 boost::math::powm1(v1, v2);
222 boost::math::legendre_p(1, v1);
223 boost::math::legendre_p(1, 0, v1);
224 boost::math::legendre_q(1, v1);
225 boost::math::legendre_next(2, v1, v2, v3);
226 boost::math::legendre_next(2, 2, v1, v2, v3);
227 boost::math::laguerre(1, v1);
228 boost::math::laguerre(2, 1, v1);
229 boost::math::laguerre(2u, 1u, v1);
230 boost::math::laguerre_next(2, v1, v2, v3);
231 boost::math::laguerre_next(2, 1, v1, v2, v3);
232 boost::math::hermite(1, v1);
233 boost::math::hermite_next(2, v1, v2, v3);
234 boost::math::spherical_harmonic_r(2, 1, v1, v2);
235 boost::math::spherical_harmonic_i(2, 1, v1, v2);
236 boost::math::ellint_1(v1);
237 boost::math::ellint_1(v1, v2);
238 boost::math::ellint_2(v1);
239 boost::math::ellint_2(v1, v2);
240 boost::math::ellint_3(v1, v2);
241 boost::math::ellint_3(v1, v2, v3);
242 boost::math::ellint_d(v1);
243 boost::math::ellint_d(v1, v2);
244 boost::math::jacobi_zeta(v1, v2);
245 boost::math::heuman_lambda(v1, v2);
246 boost::math::ellint_rc(v1, v2);
247 boost::math::ellint_rd(v1, v2, v3);
248 boost::math::ellint_rf(v1, v2, v3);
249 boost::math::ellint_rg(v1, v2, v3);
250 boost::math::ellint_rj(v1, v2, v3, v1);
251 boost::math::jacobi_elliptic(v1, v2, &v1, &v2);
252 boost::math::jacobi_cd(v1, v2);
253 boost::math::jacobi_cn(v1, v2);
254 boost::math::jacobi_cs(v1, v2);
255 boost::math::jacobi_dc(v1, v2);
256 boost::math::jacobi_dn(v1, v2);
257 boost::math::jacobi_ds(v1, v2);
258 boost::math::jacobi_nc(v1, v2);
259 boost::math::jacobi_nd(v1, v2);
260 boost::math::jacobi_ns(v1, v2);
261 boost::math::jacobi_sc(v1, v2);
262 boost::math::jacobi_sd(v1, v2);
263 boost::math::jacobi_sn(v1, v2);
264 boost::math::hypot(v1, v2);
265 boost::math::sinc_pi(v1);
266 boost::math::sinhc_pi(v1);
267 boost::math::asinh(v1);
268 boost::math::acosh(v1);
269 boost::math::atanh(v1);
270 boost::math::sin_pi(v1);
271 boost::math::cos_pi(v1);
272 boost::math::cyl_neumann(v1, v2);
273 boost::math::cyl_neumann(i, v2);
274 boost::math::cyl_bessel_j(v1, v2);
275 boost::math::cyl_bessel_j(i, v2);
276 boost::math::cyl_bessel_i(v1, v2);
277 boost::math::cyl_bessel_i(i, v2);
278 boost::math::cyl_bessel_k(v1, v2);
279 boost::math::cyl_bessel_k(i, v2);
280 boost::math::sph_bessel(i, v2);
281 boost::math::sph_bessel(i, 1);
282 boost::math::sph_neumann(i, v2);
283 boost::math::sph_neumann(i, i);
284 boost::math::cyl_neumann_prime(v1, v2);
285 boost::math::cyl_neumann_prime(i, v2);
286 boost::math::cyl_bessel_j_prime(v1, v2);
287 boost::math::cyl_bessel_j_prime(i, v2);
288 boost::math::cyl_bessel_i_prime(v1, v2);
289 boost::math::cyl_bessel_i_prime(i, v2);
290 boost::math::cyl_bessel_k_prime(v1, v2);
291 boost::math::cyl_bessel_k_prime(i, v2);
292 boost::math::sph_bessel_prime(i, v2);
293 boost::math::sph_bessel_prime(i, 1);
294 boost::math::sph_neumann_prime(i, v2);
295 boost::math::sph_neumann_prime(i, i);
296 boost::math::cyl_bessel_j_zero(v1, i);
297 boost::math::cyl_bessel_j_zero(v1, i, i, oi);
298 boost::math::cyl_neumann_zero(v1, i);
299 boost::math::cyl_neumann_zero(v1, i, i, oi);
300#ifdef TEST_COMPLEX
301 boost::math::cyl_hankel_1(v1, v2);
302 boost::math::cyl_hankel_1(i, v2);
303 boost::math::cyl_hankel_2(v1, v2);
304 boost::math::cyl_hankel_2(i, v2);
305 boost::math::sph_hankel_1(v1, v2);
306 boost::math::sph_hankel_1(i, v2);
307 boost::math::sph_hankel_2(v1, v2);
308 boost::math::sph_hankel_2(i, v2);
309#endif
310 boost::math::airy_ai(v1);
311 boost::math::airy_bi(v1);
312 boost::math::airy_ai_prime(v1);
313 boost::math::airy_bi_prime(v1);
314
315 boost::math::airy_ai_zero<RealType>(i);
316 boost::math::airy_bi_zero<RealType>(i);
317 boost::math::airy_ai_zero<RealType>(i, i, oi);
318 boost::math::airy_bi_zero<RealType>(i, i, oi);
319
320 boost::math::expint(v1);
321 boost::math::expint(i);
322 boost::math::expint(i, v2);
323 boost::math::expint(i, i);
324 boost::math::zeta(v1);
325 boost::math::zeta(i);
326 boost::math::owens_t(v1, v2);
327 boost::math::trunc(v1);
328 boost::math::itrunc(v1);
329 boost::math::ltrunc(v1);
330 boost::math::round(v1);
331 boost::math::iround(v1);
332 boost::math::lround(v1);
333 boost::math::modf(v1, &v1);
334 boost::math::modf(v1, &i);
335 long l;
336 boost::math::modf(v1, &l);
337#ifdef BOOST_HAS_LONG_LONG
338 boost::math::lltrunc(v1);
339 boost::math::llround(v1);
340 boost::long_long_type ll;
341 boost::math::modf(v1, &ll);
342#endif
343 boost::math::pow<2>(v1);
344 boost::math::nextafter(v1, v1);
345 boost::math::float_next(v1);
346 boost::math::float_prior(v1);
347 boost::math::float_distance(v1, v1);
348 boost::math::ulp(v1);
349 boost::math::relative_difference(v1, v2);
350 boost::math::epsilon_difference(v1, v2);
351
352 boost::math::unchecked_bernoulli_b2n<RealType>(i);
353 boost::math::bernoulli_b2n<RealType>(i);
354 boost::math::bernoulli_b2n<RealType>(i, i, &v1);
355 boost::math::tangent_t2n<RealType>(i);
356 boost::math::tangent_t2n<RealType>(i, i, &v1);
357
358#endif
359#ifdef TEST_GROUP_9
360 //
361 // Over again, but arguments may be expression templates:
362 //
363 boost::math::tgamma(v1 + 0);
364 boost::math::tgamma1pm1(v1 + 0);
365 boost::math::lgamma(v1 * 1);
366 boost::math::lgamma(v1 * 1, &i);
367 boost::math::digamma(v1 * 1);
368 boost::math::trigamma(v1 * 1);
369 boost::math::polygamma(i, v1 * 1);
370 boost::math::tgamma_ratio(v1 * 1, v2 + 0);
371 boost::math::tgamma_delta_ratio(v1 * 1, v2 + 0);
372 boost::math::factorial<RealType>(i);
373 boost::math::unchecked_factorial<RealType>(i);
374 i = boost::math::max_factorial<RealType>::value;
375 boost::math::double_factorial<RealType>(i);
376 boost::math::rising_factorial(v1 * 1, i);
377 boost::math::falling_factorial(v1 * 1, i);
378 boost::math::tgamma(v1 * 1, v2 + 0);
379 boost::math::tgamma_lower(v1 * 1, v2 - 0);
380 boost::math::gamma_p(v1 * 1, v2 + 0);
381 boost::math::gamma_q(v1 * 1, v2 + 0);
382 boost::math::gamma_p_inv(v1 * 1, v2 + 0);
383 boost::math::gamma_q_inv(v1 * 1, v2 + 0);
384 boost::math::gamma_p_inva(v1 * 1, v2 + 0);
385 boost::math::gamma_q_inva(v1 * 1, v2 + 0);
386 boost::math::erf(v1 * 1);
387 boost::math::erfc(v1 * 1);
388 boost::math::erf_inv(v1 * 1);
389 boost::math::erfc_inv(v1 * 1);
390 boost::math::beta(v1 * 1, v2 + 0);
391 boost::math::beta(v1 * 1, v2 + 0, v3 / 1);
392 boost::math::betac(v1 * 1, v2 + 0, v3 / 1);
393 boost::math::ibeta(v1 * 1, v2 + 0, v3 / 1);
394 boost::math::ibetac(v1 * 1, v2 + 0, v3 / 1);
395 boost::math::ibeta_inv(v1 * 1, v2 + 0, v3 / 1);
396 boost::math::ibetac_inv(v1 * 1, v2 + 0, v3 / 1);
397 boost::math::ibeta_inva(v1 * 1, v2 + 0, v3 / 1);
398 boost::math::ibetac_inva(v1 * 1, v2 + 0, v3 / 1);
399 boost::math::ibeta_invb(v1 * 1, v2 + 0, v3 / 1);
400 boost::math::ibetac_invb(v1 * 1, v2 + 0, v3 / 1);
401 boost::math::gamma_p_derivative(v2 * 1, v3 + 0);
402 boost::math::ibeta_derivative(v1 * 1, v2 + 0, v3 / 1);
403 (boost::math::fpclassify)(v1 * 1);
404 (boost::math::isfinite)(v1 * 1);
405 (boost::math::isnormal)(v1 * 1);
406 (boost::math::isnan)(v1 * 1);
407 (boost::math::isinf)(v1 * 1);
408 (boost::math::signbit)(v1 * 1);
409 (boost::math::copysign)(v1 * 1, v2 + 0);
410 (boost::math::changesign)(v1 * 1);
411 (boost::math::sign)(v1 * 1);
412 boost::math::log1p(v1 * 1);
413 boost::math::expm1(v1 * 1);
414 boost::math::cbrt(v1 * 1);
415 boost::math::sqrt1pm1(v1 * 1);
416 boost::math::powm1(v1 * 1, v2 + 0);
417 boost::math::legendre_p(1, v1 * 1);
418 boost::math::legendre_p(1, 0, v1 * 1);
419 boost::math::legendre_q(1, v1 * 1);
420 boost::math::legendre_next(2, v1 * 1, v2 + 0, v3 / 1);
421 boost::math::legendre_next(2, 2, v1 * 1, v2 + 0, v3 / 1);
422 boost::math::laguerre(1, v1 * 1);
423 boost::math::laguerre(2, 1, v1 * 1);
424 boost::math::laguerre(2u, 1u, v1 * 1);
425 boost::math::laguerre_next(2, v1 * 1, v2 + 0, v3 / 1);
426 boost::math::laguerre_next(2, 1, v1 * 1, v2 + 0, v3 / 1);
427 boost::math::hermite(1, v1 * 1);
428 boost::math::hermite_next(2, v1 * 1, v2 + 0, v3 / 1);
429 boost::math::spherical_harmonic_r(2, 1, v1 * 1, v2 + 0);
430 boost::math::spherical_harmonic_i(2, 1, v1 * 1, v2 + 0);
431 boost::math::ellint_1(v1 * 1);
432 boost::math::ellint_1(v1 * 1, v2 + 0);
433 boost::math::ellint_2(v1 * 1);
434 boost::math::ellint_2(v1 * 1, v2 + 0);
435 boost::math::ellint_3(v1 * 1, v2 + 0);
436 boost::math::ellint_3(v1 * 1, v2 + 0, v3 / 1);
437 boost::math::ellint_rc(v1 * 1, v2 + 0);
438 boost::math::ellint_rd(v1 * 1, v2 + 0, v3 / 1);
439 boost::math::ellint_rf(v1 * 1, v2 + 0, v3 / 1);
440 boost::math::ellint_rg(v1 * 1, v2 + 0, v3 / 1);
441 boost::math::ellint_rj(v1 * 1, v2 + 0, v3 / 1, v1 * 1);
442 boost::math::ellint_d(v1 * 1);
443 boost::math::ellint_d(v1 * 1, v2 + 0);
444 boost::math::jacobi_zeta(v1 * 1, v2 + 0);
445 boost::math::heuman_lambda(v1 * 1, v2 + 0);
446 boost::math::jacobi_elliptic(v1 * 1, v2 + 0, &v1, &v2);
447 boost::math::jacobi_cd(v1 * 1, v2 + 0);
448 boost::math::jacobi_cn(v1 * 1, v2 + 0);
449 boost::math::jacobi_cs(v1 * 1, v2 + 0);
450 boost::math::jacobi_dc(v1 * 1, v2 + 0);
451 boost::math::jacobi_dn(v1 * 1, v2 + 0);
452 boost::math::jacobi_ds(v1 * 1, v2 + 0);
453 boost::math::jacobi_nc(v1 * 1, v2 + 0);
454 boost::math::jacobi_nd(v1 * 1, v2 + 0);
455 boost::math::jacobi_ns(v1 * 1, v2 + 0);
456 boost::math::jacobi_sc(v1 * 1, v2 + 0);
457 boost::math::jacobi_sd(v1 * 1, v2 + 0);
458 boost::math::jacobi_sn(v1 * 1, v2 + 0);
459 boost::math::hypot(v1 * 1, v2 + 0);
460 boost::math::sinc_pi(v1 * 1);
461 boost::math::sinhc_pi(v1 * 1);
462 boost::math::asinh(v1 * 1);
463 boost::math::acosh(v1 * 1);
464 boost::math::atanh(v1 * 1);
465 boost::math::sin_pi(v1 * 1);
466 boost::math::cos_pi(v1 * 1);
467 boost::math::cyl_neumann(v1 * 1, v2 + 0);
468 boost::math::cyl_neumann(i, v2 * 1);
469 boost::math::cyl_bessel_j(v1 * 1, v2 + 0);
470 boost::math::cyl_bessel_j(i, v2 * 1);
471 boost::math::cyl_bessel_i(v1 * 1, v2 + 0);
472 boost::math::cyl_bessel_i(i, v2 * 1);
473 boost::math::cyl_bessel_k(v1 * 1, v2 + 0);
474 boost::math::cyl_bessel_k(i, v2 * 1);
475 boost::math::sph_bessel(i, v2 * 1);
476 boost::math::sph_bessel(i, 1);
477 boost::math::sph_neumann(i, v2 * 1);
478 boost::math::sph_neumann(i, i);
479 boost::math::cyl_neumann_prime(v1 * 1, v2 + 0);
480 boost::math::cyl_neumann_prime(i, v2 * 1);
481 boost::math::cyl_bessel_j_prime(v1 * 1, v2 + 0);
482 boost::math::cyl_bessel_j_prime(i, v2 * 1);
483 boost::math::cyl_bessel_i_prime(v1 * 1, v2 + 0);
484 boost::math::cyl_bessel_i_prime(i, v2 * 1);
485 boost::math::cyl_bessel_k_prime(v1 * 1, v2 + 0);
486 boost::math::cyl_bessel_k_prime(i, v2 * 1);
487 boost::math::sph_bessel_prime(i, v2 * 1);
488 boost::math::sph_bessel_prime(i, 1);
489 boost::math::sph_neumann_prime(i, v2 * 1);
490 boost::math::sph_neumann_prime(i, i);
491 boost::math::cyl_bessel_j_zero(v1 * 1, i);
492 boost::math::cyl_bessel_j_zero(v1 * 1, i, i, oi);
493 boost::math::cyl_neumann_zero(v1 * 1, i);
494 boost::math::cyl_neumann_zero(v1 * 1, i, i, oi);
495#ifdef TEST_COMPLEX
496 boost::math::cyl_hankel_1(v1, v2);
497 boost::math::cyl_hankel_1(i, v2);
498 boost::math::cyl_hankel_2(v1, v2);
499 boost::math::cyl_hankel_2(i, v2);
500 boost::math::sph_hankel_1(v1, v2);
501 boost::math::sph_hankel_1(i, v2);
502 boost::math::sph_hankel_2(v1, v2);
503 boost::math::sph_hankel_2(i, v2);
504#endif
505 boost::math::airy_ai(v1 * 1);
506 boost::math::airy_bi(v1 * 1);
507 boost::math::airy_ai_prime(v1 * 1);
508 boost::math::airy_bi_prime(v1 * 1);
509 boost::math::expint(v1 * 1);
510 boost::math::expint(i);
511 boost::math::expint(i, v2 * 1);
512 boost::math::expint(i, i);
513 boost::math::zeta(v1 * 1);
514 boost::math::zeta(i);
515 boost::math::owens_t(v1 * 1, v2 + 0);
516 boost::math::trunc(v1 * 1);
517 boost::math::itrunc(v1 * 1);
518 boost::math::ltrunc(v1 * 1);
519 boost::math::round(v1 * 1);
520 boost::math::iround(v1 * 1);
521 boost::math::lround(v1 * 1);
522 //boost::math::modf(v1 * 1, &v1);
523 //boost::math::modf(v1 * 1, &i);
524 //long l;
525 //boost::math::modf(v1 * 1, &l);
526#ifdef BOOST_HAS_LONG_LONG
527 boost::math::lltrunc(v1 * 1);
528 boost::math::llround(v1 * 1);
529 //boost::long_long_type ll;
530 //boost::math::modf(v1 * 1, &ll);
531#endif
532 boost::math::pow<2>(v1 * 1);
533 boost::math::nextafter(v1 * 1, v1 + 0);
534 boost::math::float_next(v1 * 1);
535 boost::math::float_prior(v1 * 1);
536 boost::math::float_distance(v1 * 1, v1 * 1);
537 boost::math::ulp(v1 * 1);
538 boost::math::relative_difference(v1 * 1, v2 * 1);
539 boost::math::epsilon_difference(v1 * 1, v2 * 1);
540#endif
541#ifndef BOOST_MATH_INSTANTIATE_MINIMUM
542#ifdef TEST_GROUP_5
543 //
544 // All over again, with a policy this time:
545 //
546 test_policy pol;
547 boost::math::tgamma(v1, pol);
548 boost::math::tgamma1pm1(v1, pol);
549 boost::math::lgamma(v1, pol);
550 boost::math::lgamma(v1, &i, pol);
551 boost::math::digamma(v1, pol);
552 boost::math::trigamma(v1, pol);
553 boost::math::polygamma(i, v1, pol);
554 boost::math::tgamma_ratio(v1, v2, pol);
555 boost::math::tgamma_delta_ratio(v1, v2, pol);
556 boost::math::factorial<RealType>(i, pol);
557 boost::math::unchecked_factorial<RealType>(i);
558 i = boost::math::max_factorial<RealType>::value;
559 boost::math::double_factorial<RealType>(i, pol);
560 boost::math::rising_factorial(v1, i, pol);
561 boost::math::falling_factorial(v1, i, pol);
562 boost::math::tgamma(v1, v2, pol);
563 boost::math::tgamma_lower(v1, v2, pol);
564 boost::math::gamma_p(v1, v2, pol);
565 boost::math::gamma_q(v1, v2, pol);
566 boost::math::gamma_p_inv(v1, v2, pol);
567 boost::math::gamma_q_inv(v1, v2, pol);
568 boost::math::gamma_p_inva(v1, v2, pol);
569 boost::math::gamma_q_inva(v1, v2, pol);
570 boost::math::erf(v1, pol);
571 boost::math::erfc(v1, pol);
572 boost::math::erf_inv(v1, pol);
573 boost::math::erfc_inv(v1, pol);
574 boost::math::beta(v1, v2, pol);
575 boost::math::beta(v1, v2, v3, pol);
576 boost::math::betac(v1, v2, v3, pol);
577 boost::math::ibeta(v1, v2, v3, pol);
578 boost::math::ibetac(v1, v2, v3, pol);
579 boost::math::ibeta_inv(v1, v2, v3, pol);
580 boost::math::ibetac_inv(v1, v2, v3, pol);
581 boost::math::ibeta_inva(v1, v2, v3, pol);
582 boost::math::ibetac_inva(v1, v2, v3, pol);
583 boost::math::ibeta_invb(v1, v2, v3, pol);
584 boost::math::ibetac_invb(v1, v2, v3, pol);
585 boost::math::gamma_p_derivative(v2, v3, pol);
586 boost::math::ibeta_derivative(v1, v2, v3, pol);
587 boost::math::binomial_coefficient<RealType>(i, i, pol);
588 boost::math::log1p(v1, pol);
589 boost::math::expm1(v1, pol);
590 boost::math::cbrt(v1, pol);
591 boost::math::sqrt1pm1(v1, pol);
592 boost::math::powm1(v1, v2, pol);
593 boost::math::legendre_p(1, v1, pol);
594 boost::math::legendre_p(1, 0, v1, pol);
595 boost::math::legendre_q(1, v1, pol);
596 boost::math::legendre_next(2, v1, v2, v3);
597 boost::math::legendre_next(2, 2, v1, v2, v3);
598 boost::math::laguerre(1, v1, pol);
599 boost::math::laguerre(2, 1, v1, pol);
600 boost::math::laguerre_next(2, v1, v2, v3);
601 boost::math::laguerre_next(2, 1, v1, v2, v3);
602 boost::math::hermite(1, v1, pol);
603 boost::math::hermite_next(2, v1, v2, v3);
604 boost::math::spherical_harmonic_r(2, 1, v1, v2, pol);
605 boost::math::spherical_harmonic_i(2, 1, v1, v2, pol);
606 boost::math::ellint_1(v1, pol);
607 boost::math::ellint_1(v1, v2, pol);
608 boost::math::ellint_2(v1, pol);
609 boost::math::ellint_2(v1, v2, pol);
610 boost::math::ellint_3(v1, v2, pol);
611 boost::math::ellint_3(v1, v2, v3, pol);
612 boost::math::ellint_d(v1, pol);
613 boost::math::ellint_d(v1, v2, pol);
614 boost::math::jacobi_zeta(v1, v2, pol);
615 boost::math::heuman_lambda(v1, v2, pol);
616 boost::math::ellint_rc(v1, v2, pol);
617 boost::math::ellint_rd(v1, v2, v3, pol);
618 boost::math::ellint_rf(v1, v2, v3, pol);
619 boost::math::ellint_rg(v1, v2, v3, pol);
620 boost::math::ellint_rj(v1, v2, v3, v1, pol);
621 boost::math::jacobi_elliptic(v1, v2, &v1, &v2, pol);
622 boost::math::jacobi_cd(v1, v2, pol);
623 boost::math::jacobi_cn(v1, v2, pol);
624 boost::math::jacobi_cs(v1, v2, pol);
625 boost::math::jacobi_dc(v1, v2, pol);
626 boost::math::jacobi_dn(v1, v2, pol);
627 boost::math::jacobi_ds(v1, v2, pol);
628 boost::math::jacobi_nc(v1, v2, pol);
629 boost::math::jacobi_nd(v1, v2, pol);
630 boost::math::jacobi_ns(v1, v2, pol);
631 boost::math::jacobi_sc(v1, v2, pol);
632 boost::math::jacobi_sd(v1, v2, pol);
633 boost::math::jacobi_sn(v1, v2, pol);
634 boost::math::hypot(v1, v2, pol);
635 boost::math::sinc_pi(v1, pol);
636 boost::math::sinhc_pi(v1, pol);
637 boost::math::asinh(v1, pol);
638 boost::math::acosh(v1, pol);
639 boost::math::atanh(v1, pol);
640 boost::math::sin_pi(v1, pol);
641 boost::math::cos_pi(v1, pol);
642 boost::math::cyl_neumann(v1, v2, pol);
643 boost::math::cyl_neumann(i, v2, pol);
644 boost::math::cyl_bessel_j(v1, v2, pol);
645 boost::math::cyl_bessel_j(i, v2, pol);
646 boost::math::cyl_bessel_i(v1, v2, pol);
647 boost::math::cyl_bessel_i(i, v2, pol);
648 boost::math::cyl_bessel_k(v1, v2, pol);
649 boost::math::cyl_bessel_k(i, v2, pol);
650 boost::math::sph_bessel(i, v2, pol);
651 boost::math::sph_bessel(i, 1, pol);
652 boost::math::sph_neumann(i, v2, pol);
653 boost::math::sph_neumann(i, i, pol);
654 boost::math::cyl_neumann_prime(v1, v2, pol);
655 boost::math::cyl_neumann_prime(i, v2, pol);
656 boost::math::cyl_bessel_j_prime(v1, v2, pol);
657 boost::math::cyl_bessel_j_prime(i, v2, pol);
658 boost::math::cyl_bessel_i_prime(v1, v2, pol);
659 boost::math::cyl_bessel_i_prime(i, v2, pol);
660 boost::math::cyl_bessel_k_prime(v1, v2, pol);
661 boost::math::cyl_bessel_k_prime(i, v2, pol);
662 boost::math::sph_bessel_prime(i, v2, pol);
663 boost::math::sph_bessel_prime(i, 1, pol);
664 boost::math::sph_neumann_prime(i, v2, pol);
665 boost::math::sph_neumann_prime(i, i, pol);
666 boost::math::cyl_bessel_j_zero(v1, i, pol);
667 boost::math::cyl_bessel_j_zero(v1, i, i, oi, pol);
668 boost::math::cyl_neumann_zero(v1, i, pol);
669 boost::math::cyl_neumann_zero(v1, i, i, oi, pol);
670#ifdef TEST_COMPLEX
671 boost::math::cyl_hankel_1(v1, v2, pol);
672 boost::math::cyl_hankel_1(i, v2, pol);
673 boost::math::cyl_hankel_2(v1, v2, pol);
674 boost::math::cyl_hankel_2(i, v2, pol);
675 boost::math::sph_hankel_1(v1, v2, pol);
676 boost::math::sph_hankel_1(i, v2, pol);
677 boost::math::sph_hankel_2(v1, v2, pol);
678 boost::math::sph_hankel_2(i, v2, pol);
679#endif
680 boost::math::airy_ai(v1, pol);
681 boost::math::airy_bi(v1, pol);
682 boost::math::airy_ai_prime(v1, pol);
683 boost::math::airy_bi_prime(v1, pol);
684
685 boost::math::airy_ai_zero<RealType>(i, pol);
686 boost::math::airy_bi_zero<RealType>(i, pol);
687 boost::math::airy_ai_zero<RealType>(i, i, oi, pol);
688 boost::math::airy_bi_zero<RealType>(i, i, oi, pol);
689
690 boost::math::expint(v1, pol);
691 boost::math::expint(i, pol);
692 boost::math::expint(i, v2, pol);
693 boost::math::expint(i, i, pol);
694 boost::math::zeta(v1, pol);
695 boost::math::zeta(i, pol);
696 boost::math::owens_t(v1, v2, pol);
697 //
698 // These next functions are intended to be found via ADL:
699 //
700 BOOST_MATH_STD_USING
701 trunc(v1, pol);
702 itrunc(v1, pol);
703 ltrunc(v1, pol);
704 round(v1, pol);
705 iround(v1, pol);
706 lround(v1, pol);
707 modf(v1, &v1, pol);
708 modf(v1, &i, pol);
709 modf(v1, &l, pol);
710#ifdef BOOST_HAS_LONG_LONG
711 using boost::math::lltrunc;
712 using boost::math::llround;
713 lltrunc(v1, pol);
714 llround(v1, pol);
715 modf(v1, &ll, pol);
716#endif
717 boost::math::pow<2>(v1, pol);
718 boost::math::nextafter(v1, v1, pol);
719 boost::math::float_next(v1, pol);
720 boost::math::float_prior(v1, pol);
721 boost::math::float_distance(v1, v1, pol);
722 boost::math::ulp(v1, pol);
723
724 boost::math::bernoulli_b2n<RealType>(i, pol);
725 boost::math::bernoulli_b2n<RealType>(i, i, &v1, pol);
726 boost::math::tangent_t2n<RealType>(i, pol);
727 boost::math::tangent_t2n<RealType>(i, i, &v1, pol);
728#endif
729#ifdef TEST_GROUP_6
730 //
731 // All over again with the versions in test::
732 //
733 test::tgamma(v1);
734 test::tgamma1pm1(v1);
735 test::lgamma(v1);
736 test::lgamma(v1, &i);
737 test::digamma(v1);
738 test::trigamma(v1);
739 test::polygamma(i, v1);
740 test::tgamma_ratio(v1, v2);
741 test::tgamma_delta_ratio(v1, v2);
742 test::factorial<RealType>(i);
743 test::unchecked_factorial<RealType>(i);
744 i = test::max_factorial<RealType>::value;
745 test::double_factorial<RealType>(i);
746 test::rising_factorial(v1, i);
747 test::falling_factorial(v1, i);
748 test::tgamma(v1, v2);
749 test::tgamma_lower(v1, v2);
750 test::gamma_p(v1, v2);
751 test::gamma_q(v1, v2);
752 test::gamma_p_inv(v1, v2);
753 test::gamma_q_inv(v1, v2);
754 test::gamma_p_inva(v1, v2);
755 test::gamma_q_inva(v1, v2);
756 test::erf(v1);
757 test::erfc(v1);
758 test::erf_inv(v1);
759 test::erfc_inv(v1);
760 test::beta(v1, v2);
761 test::beta(v1, v2, v3);
762 test::betac(v1, v2, v3);
763 test::ibeta(v1, v2, v3);
764 test::ibetac(v1, v2, v3);
765 test::ibeta_inv(v1, v2, v3);
766 test::ibetac_inv(v1, v2, v3);
767 test::ibeta_inva(v1, v2, v3);
768 test::ibetac_inva(v1, v2, v3);
769 test::ibeta_invb(v1, v2, v3);
770 test::ibetac_invb(v1, v2, v3);
771 test::gamma_p_derivative(v2, v3);
772 test::ibeta_derivative(v1, v2, v3);
773 test::binomial_coefficient<RealType>(i, i);
774 (test::fpclassify)(v1);
775 (test::isfinite)(v1);
776 (test::isnormal)(v1);
777 (test::isnan)(v1);
778 (test::isinf)(v1);
779 (test::signbit)(v1);
780 (test::copysign)(v1, v2);
781 (test::changesign)(v1);
782 (test::sign)(v1);
783 test::log1p(v1);
784 test::expm1(v1);
785 test::cbrt(v1);
786 test::sqrt1pm1(v1);
787 test::powm1(v1, v2);
788 test::legendre_p(1, v1);
789 test::legendre_p(1, 0, v1);
790 test::legendre_q(1, v1);
791 test::legendre_next(2, v1, v2, v3);
792 test::legendre_next(2, 2, v1, v2, v3);
793 test::laguerre(1, v1);
794 test::laguerre(2, 1, v1);
795 test::laguerre_next(2, v1, v2, v3);
796 test::laguerre_next(2, 1, v1, v2, v3);
797 test::hermite(1, v1);
798 test::hermite_next(2, v1, v2, v3);
799 test::spherical_harmonic_r(2, 1, v1, v2);
800 test::spherical_harmonic_i(2, 1, v1, v2);
801 test::ellint_1(v1);
802 test::ellint_1(v1, v2);
803 test::ellint_2(v1);
804 test::ellint_2(v1, v2);
805 test::ellint_3(v1, v2);
806 test::ellint_3(v1, v2, v3);
807 test::ellint_d(v1);
808 test::ellint_d(v1, v2);
809 test::jacobi_zeta(v1, v2);
810 test::heuman_lambda(v1, v2);
811 test::ellint_rc(v1, v2);
812 test::ellint_rd(v1, v2, v3);
813 test::ellint_rf(v1, v2, v3);
814 test::ellint_rg(v1, v2, v3);
815 test::ellint_rj(v1, v2, v3, v1);
816 test::jacobi_elliptic(v1, v2, &v1, &v2);
817 test::jacobi_cd(v1, v2);
818 test::jacobi_cn(v1, v2);
819 test::jacobi_cs(v1, v2);
820 test::jacobi_dc(v1, v2);
821 test::jacobi_dn(v1, v2);
822 test::jacobi_ds(v1, v2);
823 test::jacobi_nc(v1, v2);
824 test::jacobi_nd(v1, v2);
825 test::jacobi_ns(v1, v2);
826 test::jacobi_sc(v1, v2);
827 test::jacobi_sd(v1, v2);
828 test::jacobi_sn(v1, v2);
829 test::hypot(v1, v2);
830 test::sinc_pi(v1);
831 test::sinhc_pi(v1);
832 test::asinh(v1);
833 test::acosh(v1);
834 test::atanh(v1);
835 test::sin_pi(v1);
836 test::cos_pi(v1);
837 test::cyl_neumann(v1, v2);
838 test::cyl_neumann(i, v2);
839 test::cyl_bessel_j(v1, v2);
840 test::cyl_bessel_j(i, v2);
841 test::cyl_bessel_i(v1, v2);
842 test::cyl_bessel_i(i, v2);
843 test::cyl_bessel_k(v1, v2);
844 test::cyl_bessel_k(i, v2);
845 test::sph_bessel(i, v2);
846 test::sph_bessel(i, 1);
847 test::sph_neumann(i, v2);
848 test::sph_neumann(i, i);
849 test::cyl_neumann_prime(v1, v2);
850 test::cyl_neumann_prime(i, v2);
851 test::cyl_bessel_j_prime(v1, v2);
852 test::cyl_bessel_j_prime(i, v2);
853 test::cyl_bessel_i_prime(v1, v2);
854 test::cyl_bessel_i_prime(i, v2);
855 test::cyl_bessel_k_prime(v1, v2);
856 test::cyl_bessel_k_prime(i, v2);
857 test::sph_bessel_prime(i, v2);
858 test::sph_bessel_prime(i, 1);
859 test::sph_neumann_prime(i, v2);
860 test::sph_neumann_prime(i, i);
861 test::cyl_bessel_j_zero(v1, i);
862 test::cyl_bessel_j_zero(v1, i, i, oi);
863 test::cyl_neumann_zero(v1, i);
864 test::cyl_neumann_zero(v1, i, i, oi);
865#ifdef TEST_COMPLEX
866 test::cyl_hankel_1(v1, v2);
867 test::cyl_hankel_1(i, v2);
868 test::cyl_hankel_2(v1, v2);
869 test::cyl_hankel_2(i, v2);
870 test::sph_hankel_1(v1, v2);
871 test::sph_hankel_1(i, v2);
872 test::sph_hankel_2(v1, v2);
873 test::sph_hankel_2(i, v2);
874#endif
875 test::airy_ai(i);
876 test::airy_bi(i);
877 test::airy_ai_prime(i);
878 test::airy_bi_prime(i);
879
880 test::airy_ai_zero<RealType>(i);
881 test::airy_bi_zero<RealType>(i);
882 test::airy_ai_zero<RealType>(i, i, oi);
883 test::airy_bi_zero<RealType>(i, i, oi);
884
885 test::expint(v1);
886 test::expint(i);
887 test::expint(i, v2);
888 test::expint(i, i);
889 test::zeta(v1);
890 test::zeta(i);
891 test::owens_t(v1, v2);
892 test::trunc(v1);
893 test::itrunc(v1);
894 test::ltrunc(v1);
895 test::round(v1);
896 test::iround(v1);
897 test::lround(v1);
898 test::modf(v1, &v1);
899 test::modf(v1, &i);
900 test::modf(v1, &l);
901#ifdef BOOST_HAS_LONG_LONG
902 test::lltrunc(v1);
903 test::llround(v1);
904 test::modf(v1, &ll);
905#endif
906 test::pow<2>(v1);
907 test::nextafter(v1, v1);
908 test::float_next(v1);
909 test::float_prior(v1);
910 test::float_distance(v1, v1);
911 test::ulp(v1);
912#endif
913#endif
914}
915
916template <class RealType>
917void instantiate_mixed(RealType)
918{
919 using namespace boost;
920 using namespace boost::math;
921#ifndef BOOST_MATH_INSTANTIATE_MINIMUM
922 int i = 1;
923 long l = 1;
924 short s = 1;
925 float fr = 0.5F;
926 double dr = 0.5;
927#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
928 long double lr = 0.5L;
929#else
930 double lr = 0.5L;
931#endif
932#ifdef TEST_GROUP_7
933 boost::math::tgamma(i);
934 boost::math::tgamma1pm1(i);
935 boost::math::lgamma(i);
936 boost::math::lgamma(i, &i);
937 boost::math::digamma(i);
938 boost::math::trigamma(i);
939 boost::math::polygamma(i, i);
940 boost::math::tgamma_ratio(i, l);
941 boost::math::tgamma_ratio(fr, lr);
942 boost::math::tgamma_delta_ratio(i, s);
943 boost::math::tgamma_delta_ratio(fr, lr);
944 boost::math::rising_factorial(s, i);
945 boost::math::falling_factorial(s, i);
946 boost::math::tgamma(i, l);
947 boost::math::tgamma(fr, lr);
948 boost::math::tgamma_lower(i, s);
949 boost::math::tgamma_lower(fr, lr);
950 boost::math::gamma_p(i, s);
951 boost::math::gamma_p(fr, lr);
952 boost::math::gamma_q(i, s);
953 boost::math::gamma_q(fr, lr);
954 boost::math::gamma_p_inv(i, fr);
955 boost::math::gamma_q_inv(s, fr);
956 boost::math::gamma_p_inva(i, lr);
957 boost::math::gamma_q_inva(i, lr);
958 boost::math::erf(i);
959 boost::math::erfc(i);
960 boost::math::erf_inv(i);
961 boost::math::erfc_inv(i);
962 boost::math::beta(i, s);
963 boost::math::beta(fr, lr);
964 boost::math::beta(i, s, l);
965 boost::math::beta(fr, dr, lr);
966 boost::math::betac(l, i, s);
967 boost::math::betac(fr, dr, lr);
968 boost::math::ibeta(l, i, s);
969 boost::math::ibeta(fr, dr, lr);
970 boost::math::ibetac(l, i, s);
971 boost::math::ibetac(fr, dr, lr);
972 boost::math::ibeta_inv(l, s, i);
973 boost::math::ibeta_inv(fr, dr, lr);
974 boost::math::ibetac_inv(l, i, s);
975 boost::math::ibetac_inv(fr, dr, lr);
976 boost::math::ibeta_inva(l, i, s);
977 boost::math::ibeta_inva(fr, dr, lr);
978 boost::math::ibetac_inva(l, i, s);
979 boost::math::ibetac_inva(fr, dr, lr);
980 boost::math::ibeta_invb(l, i, s);
981 boost::math::ibeta_invb(fr, dr, lr);
982 boost::math::ibetac_invb(l, i, s);
983 boost::math::ibetac_invb(fr, dr, lr);
984 boost::math::gamma_p_derivative(i, l);
985 boost::math::gamma_p_derivative(fr, lr);
986 boost::math::ibeta_derivative(l, i, s);
987 boost::math::ibeta_derivative(fr, dr, lr);
988 (boost::math::fpclassify)(i);
989 (boost::math::isfinite)(s);
990 (boost::math::isnormal)(l);
991 (boost::math::isnan)(i);
992 (boost::math::isinf)(l);
993 boost::math::log1p(i);
994 boost::math::expm1(s);
995 boost::math::cbrt(l);
996 boost::math::sqrt1pm1(s);
997 boost::math::powm1(i, s);
998 boost::math::powm1(fr, lr);
999 //boost::math::legendre_p(1, i);
1000 boost::math::legendre_p(1, 0, s);
1001 boost::math::legendre_q(1, i);
1002 boost::math::laguerre(1, i);
1003 boost::math::laguerre(2, 1, i);
1004 boost::math::laguerre(2u, 1u, s);
1005 boost::math::hermite(1, s);
1006 boost::math::spherical_harmonic_r(2, 1, s, i);
1007 boost::math::spherical_harmonic_i(2, 1, fr, lr);
1008 boost::math::ellint_1(i);
1009 boost::math::ellint_1(i, s);
1010 boost::math::ellint_1(fr, lr);
1011 boost::math::ellint_2(i);
1012 boost::math::ellint_2(i, l);
1013 boost::math::ellint_2(fr, lr);
1014 boost::math::ellint_3(i, l);
1015 boost::math::ellint_3(fr, lr);
1016 boost::math::ellint_3(s, l, i);
1017 boost::math::ellint_3(fr, dr, lr);
1018 boost::math::ellint_d(i);
1019 boost::math::ellint_d(i, l);
1020 boost::math::ellint_d(fr, lr);
1021 boost::math::jacobi_zeta(i, l);
1022 boost::math::jacobi_zeta(fr, lr);
1023 boost::math::heuman_lambda(i, l);
1024 boost::math::heuman_lambda(fr, lr);
1025 boost::math::ellint_rc(i, s);
1026 boost::math::ellint_rc(fr, lr);
1027 boost::math::ellint_rd(s, i, l);
1028 boost::math::ellint_rd(fr, lr, dr);
1029 boost::math::ellint_rf(s, l, i);
1030 boost::math::ellint_rf(fr, dr, lr);
1031 boost::math::ellint_rg(s, l, i);
1032 boost::math::ellint_rg(fr, dr, lr);
1033 boost::math::ellint_rj(i, i, s, l);
1034 boost::math::ellint_rj(i, fr, dr, lr);
1035 boost::math::jacobi_cd(i, fr);
1036 boost::math::jacobi_cn(i, fr);
1037 boost::math::jacobi_cs(i, fr);
1038 boost::math::jacobi_dc(i, fr);
1039 boost::math::jacobi_dn(i, fr);
1040 boost::math::jacobi_ds(i, fr);
1041 boost::math::jacobi_nc(i, fr);
1042 boost::math::jacobi_nd(i, fr);
1043 boost::math::jacobi_ns(i, fr);
1044 boost::math::jacobi_sc(i, fr);
1045 boost::math::jacobi_sd(i, fr);
1046 boost::math::jacobi_sn(i, fr);
1047 boost::math::hypot(i, s);
1048 boost::math::hypot(fr, lr);
1049 boost::math::sinc_pi(i);
1050 boost::math::sinhc_pi(i);
1051 boost::math::asinh(s);
1052 boost::math::acosh(l);
1053 boost::math::atanh(l);
1054 boost::math::sin_pi(s);
1055 boost::math::cos_pi(s);
1056 boost::math::cyl_neumann(fr, dr);
1057 boost::math::cyl_neumann(i, s);
1058 boost::math::cyl_bessel_j(fr, lr);
1059 boost::math::cyl_bessel_j(i, s);
1060 boost::math::cyl_bessel_i(fr, lr);
1061 boost::math::cyl_bessel_i(i, s);
1062 boost::math::cyl_bessel_k(fr, lr);
1063 boost::math::cyl_bessel_k(i, s);
1064 boost::math::sph_bessel(i, fr);
1065 boost::math::sph_bessel(i, 1);
1066 boost::math::sph_neumann(i, lr);
1067 boost::math::sph_neumann(i, i);
1068 boost::math::cyl_neumann_prime(fr, dr);
1069 boost::math::cyl_neumann_prime(i, s);
1070 boost::math::cyl_bessel_j_prime(fr, lr);
1071 boost::math::cyl_bessel_j_prime(i, s);
1072 boost::math::cyl_bessel_i_prime(fr, lr);
1073 boost::math::cyl_bessel_i_prime(i, s);
1074 boost::math::cyl_bessel_k_prime(fr, lr);
1075 boost::math::cyl_bessel_k_prime(i, s);
1076 boost::math::sph_bessel_prime(i, fr);
1077 boost::math::sph_bessel_prime(i, 1);
1078 boost::math::sph_neumann_prime(i, lr);
1079 boost::math::sph_neumann_prime(i, i);
1080 boost::math::owens_t(fr, dr);
1081 boost::math::owens_t(i, s);
1082
1083 boost::math::policies::policy<> pol;
1084
1085
1086 boost::math::tgamma(i, pol);
1087 boost::math::tgamma1pm1(i, pol);
1088 boost::math::lgamma(i, pol);
1089 boost::math::lgamma(i, &i, pol);
1090 boost::math::digamma(i, pol);
1091 boost::math::trigamma(i, pol);
1092 boost::math::polygamma(i, i, pol);
1093 boost::math::tgamma_ratio(i, l, pol);
1094 boost::math::tgamma_ratio(fr, lr, pol);
1095 boost::math::tgamma_delta_ratio(i, s, pol);
1096 boost::math::tgamma_delta_ratio(fr, lr, pol);
1097 boost::math::rising_factorial(s, i, pol);
1098 boost::math::falling_factorial(s, i, pol);
1099 boost::math::tgamma(i, l, pol);
1100 boost::math::tgamma(fr, lr, pol);
1101 boost::math::tgamma_lower(i, s, pol);
1102 boost::math::tgamma_lower(fr, lr, pol);
1103 boost::math::gamma_p(i, s, pol);
1104 boost::math::gamma_p(fr, lr, pol);
1105 boost::math::gamma_q(i, s, pol);
1106 boost::math::gamma_q(fr, lr, pol);
1107 boost::math::gamma_p_inv(i, fr, pol);
1108 boost::math::gamma_q_inv(s, fr, pol);
1109 boost::math::gamma_p_inva(i, lr, pol);
1110 boost::math::gamma_q_inva(i, lr, pol);
1111 boost::math::erf(i, pol);
1112 boost::math::erfc(i, pol);
1113 boost::math::erf_inv(i, pol);
1114 boost::math::erfc_inv(i, pol);
1115 boost::math::beta(i, s, pol);
1116 boost::math::beta(fr, lr, pol);
1117 boost::math::beta(i, s, l, pol);
1118 boost::math::beta(fr, dr, lr, pol);
1119 boost::math::betac(l, i, s, pol);
1120 boost::math::betac(fr, dr, lr, pol);
1121 boost::math::ibeta(l, i, s, pol);
1122 boost::math::ibeta(fr, dr, lr, pol);
1123 boost::math::ibetac(l, i, s, pol);
1124 boost::math::ibetac(fr, dr, lr, pol);
1125 boost::math::ibeta_inv(l, s, i, pol);
1126 boost::math::ibeta_inv(fr, dr, lr, pol);
1127 boost::math::ibetac_inv(l, i, s, pol);
1128 boost::math::ibetac_inv(fr, dr, lr, pol);
1129 boost::math::ibeta_inva(l, i, s, pol);
1130 boost::math::ibeta_inva(fr, dr, lr, pol);
1131 boost::math::ibetac_inva(l, i, s, pol);
1132 boost::math::ibetac_inva(fr, dr, lr, pol);
1133 boost::math::ibeta_invb(l, i, s, pol);
1134 boost::math::ibeta_invb(fr, dr, lr, pol);
1135 boost::math::ibetac_invb(l, i, s, pol);
1136 boost::math::ibetac_invb(fr, dr, lr, pol);
1137 boost::math::gamma_p_derivative(i, l, pol);
1138 boost::math::gamma_p_derivative(fr, lr, pol);
1139 boost::math::ibeta_derivative(l, i, s, pol);
1140 boost::math::ibeta_derivative(fr, dr, lr, pol);
1141 boost::math::log1p(i, pol);
1142 boost::math::expm1(s, pol);
1143 boost::math::cbrt(l, pol);
1144 boost::math::sqrt1pm1(s, pol);
1145 boost::math::powm1(i, s, pol);
1146 boost::math::powm1(fr, lr, pol);
1147 //boost::math::legendre_p(1, i, pol);
1148 boost::math::legendre_p(1, 0, s, pol);
1149 boost::math::legendre_q(1, i, pol);
1150 boost::math::laguerre(1, i, pol);
1151 boost::math::laguerre(2, 1, i, pol);
1152 boost::math::laguerre(2u, 1u, s, pol);
1153 boost::math::hermite(1, s, pol);
1154 boost::math::spherical_harmonic_r(2, 1, s, i, pol);
1155 boost::math::spherical_harmonic_i(2, 1, fr, lr, pol);
1156 boost::math::ellint_1(i, pol);
1157 boost::math::ellint_1(i, s, pol);
1158 boost::math::ellint_1(fr, lr, pol);
1159 boost::math::ellint_2(i, pol);
1160 boost::math::ellint_2(i, l, pol);
1161 boost::math::ellint_2(fr, lr, pol);
1162 boost::math::ellint_3(i, l, pol);
1163 boost::math::ellint_3(fr, lr, pol);
1164 boost::math::ellint_3(s, l, i, pol);
1165 boost::math::ellint_3(fr, dr, lr, pol);
1166 boost::math::ellint_d(i, pol);
1167 boost::math::ellint_d(i, l, pol);
1168 boost::math::ellint_d(fr, lr, pol);
1169 boost::math::jacobi_zeta(i, l, pol);
1170 boost::math::jacobi_zeta(fr, lr, pol);
1171 boost::math::heuman_lambda(i, l, pol);
1172 boost::math::heuman_lambda(fr, lr, pol);
1173 boost::math::ellint_rc(i, s, pol);
1174 boost::math::ellint_rc(fr, lr, pol);
1175 boost::math::ellint_rd(s, i, l, pol);
1176 boost::math::ellint_rd(fr, lr, dr, pol);
1177 boost::math::ellint_rf(s, l, i, pol);
1178 boost::math::ellint_rf(fr, dr, lr, pol);
1179 boost::math::ellint_rg(s, l, i, pol);
1180 boost::math::ellint_rg(fr, dr, lr, pol);
1181 boost::math::ellint_rj(i, i, s, l, pol);
1182 boost::math::ellint_rj(i, fr, dr, lr, pol);
1183 boost::math::jacobi_cd(i, fr, pol);
1184 boost::math::jacobi_cn(i, fr, pol);
1185 boost::math::jacobi_cs(i, fr, pol);
1186 boost::math::jacobi_dc(i, fr, pol);
1187 boost::math::jacobi_dn(i, fr, pol);
1188 boost::math::jacobi_ds(i, fr, pol);
1189 boost::math::jacobi_nc(i, fr, pol);
1190 boost::math::jacobi_nd(i, fr, pol);
1191 boost::math::jacobi_ns(i, fr, pol);
1192 boost::math::jacobi_sc(i, fr, pol);
1193 boost::math::jacobi_sd(i, fr, pol);
1194 boost::math::jacobi_sn(i, fr, pol);
1195 boost::math::hypot(i, s, pol);
1196 boost::math::hypot(fr, lr, pol);
1197 boost::math::sinc_pi(i, pol);
1198 boost::math::sinhc_pi(i, pol);
1199 boost::math::asinh(s, pol);
1200 boost::math::acosh(l, pol);
1201 boost::math::atanh(l, pol);
1202 boost::math::sin_pi(s, pol);
1203 boost::math::cos_pi(s, pol);
1204 boost::math::cyl_neumann(fr, dr, pol);
1205 boost::math::cyl_neumann(i, s, pol);
1206 boost::math::cyl_bessel_j(fr, lr, pol);
1207 boost::math::cyl_bessel_j(i, s, pol);
1208 boost::math::cyl_bessel_i(fr, lr, pol);
1209 boost::math::cyl_bessel_i(i, s, pol);
1210 boost::math::cyl_bessel_k(fr, lr, pol);
1211 boost::math::cyl_bessel_k(i, s, pol);
1212 boost::math::sph_bessel(i, fr, pol);
1213 boost::math::sph_bessel(i, 1, pol);
1214 boost::math::sph_neumann(i, lr, pol);
1215 boost::math::sph_neumann(i, i, pol);
1216 boost::math::cyl_neumann_prime(fr, dr, pol);
1217 boost::math::cyl_neumann_prime(i, s, pol);
1218 boost::math::cyl_bessel_j_prime(fr, lr, pol);
1219 boost::math::cyl_bessel_j_prime(i, s, pol);
1220 boost::math::cyl_bessel_i_prime(fr, lr, pol);
1221 boost::math::cyl_bessel_i_prime(i, s, pol);
1222 boost::math::cyl_bessel_k_prime(fr, lr, pol);
1223 boost::math::cyl_bessel_k_prime(i, s, pol);
1224 boost::math::sph_bessel_prime(i, fr, pol);
1225 boost::math::sph_bessel_prime(i, 1, pol);
1226 boost::math::sph_neumann_prime(i, lr, pol);
1227 boost::math::sph_neumann_prime(i, i, pol);
1228 boost::math::owens_t(fr, dr, pol);
1229 boost::math::owens_t(i, s, pol);
1230#endif
1231#ifdef TEST_GROUP_8
1232 test::tgamma(i);
1233 test::tgamma1pm1(i);
1234 test::lgamma(i);
1235 test::lgamma(i, &i);
1236 test::digamma(i);
1237 test::trigamma(i);
1238 test::polygamma(i, i);
1239 test::tgamma_ratio(i, l);
1240 test::tgamma_ratio(fr, lr);
1241 test::tgamma_delta_ratio(i, s);
1242 test::tgamma_delta_ratio(fr, lr);
1243 test::rising_factorial(s, i);
1244 test::falling_factorial(s, i);
1245 test::tgamma(i, l);
1246 test::tgamma(fr, lr);
1247 test::tgamma_lower(i, s);
1248 test::tgamma_lower(fr, lr);
1249 test::gamma_p(i, s);
1250 test::gamma_p(fr, lr);
1251 test::gamma_q(i, s);
1252 test::gamma_q(fr, lr);
1253 test::gamma_p_inv(i, fr);
1254 test::gamma_q_inv(s, fr);
1255 test::gamma_p_inva(i, lr);
1256 test::gamma_q_inva(i, lr);
1257 test::erf(i);
1258 test::erfc(i);
1259 test::erf_inv(i);
1260 test::erfc_inv(i);
1261 test::beta(i, s);
1262 test::beta(fr, lr);
1263 test::beta(i, s, l);
1264 test::beta(fr, dr, lr);
1265 test::betac(l, i, s);
1266 test::betac(fr, dr, lr);
1267 test::ibeta(l, i, s);
1268 test::ibeta(fr, dr, lr);
1269 test::ibetac(l, i, s);
1270 test::ibetac(fr, dr, lr);
1271 test::ibeta_inv(l, s, i);
1272 test::ibeta_inv(fr, dr, lr);
1273 test::ibetac_inv(l, i, s);
1274 test::ibetac_inv(fr, dr, lr);
1275 test::ibeta_inva(l, i, s);
1276 test::ibeta_inva(fr, dr, lr);
1277 test::ibetac_inva(l, i, s);
1278 test::ibetac_inva(fr, dr, lr);
1279 test::ibeta_invb(l, i, s);
1280 test::ibeta_invb(fr, dr, lr);
1281 test::ibetac_invb(l, i, s);
1282 test::ibetac_invb(fr, dr, lr);
1283 test::gamma_p_derivative(i, l);
1284 test::gamma_p_derivative(fr, lr);
1285 test::ibeta_derivative(l, i, s);
1286 test::ibeta_derivative(fr, dr, lr);
1287 (test::fpclassify)(i);
1288 (test::isfinite)(s);
1289 (test::isnormal)(l);
1290 (test::isnan)(i);
1291 (test::isinf)(l);
1292 test::log1p(i);
1293 test::expm1(s);
1294 test::cbrt(l);
1295 test::sqrt1pm1(s);
1296 test::powm1(i, s);
1297 test::powm1(fr, lr);
1298 //test::legendre_p(1, i);
1299 test::legendre_p(1, 0, s);
1300 test::legendre_q(1, i);
1301 test::laguerre(1, i);
1302 test::laguerre(2, 1, i);
1303 test::laguerre(2u, 1u, s);
1304 test::hermite(1, s);
1305 test::spherical_harmonic_r(2, 1, s, i);
1306 test::spherical_harmonic_i(2, 1, fr, lr);
1307 test::ellint_1(i);
1308 test::ellint_1(i, s);
1309 test::ellint_1(fr, lr);
1310 test::ellint_2(i);
1311 test::ellint_2(i, l);
1312 test::ellint_2(fr, lr);
1313 test::ellint_3(i, l);
1314 test::ellint_3(fr, lr);
1315 test::ellint_3(s, l, i);
1316 test::ellint_3(fr, dr, lr);
1317 test::ellint_d(i);
1318 test::ellint_d(i, l);
1319 test::ellint_d(fr, lr);
1320 test::jacobi_zeta(i, l);
1321 test::jacobi_zeta(fr, lr);
1322 test::heuman_lambda(i, l);
1323 test::heuman_lambda(fr, lr);
1324 test::ellint_rc(i, s);
1325 test::ellint_rc(fr, lr);
1326 test::ellint_rd(s, i, l);
1327 test::ellint_rd(fr, lr, dr);
1328 test::ellint_rf(s, l, i);
1329 test::ellint_rf(fr, dr, lr);
1330 test::ellint_rg(s, l, i);
1331 test::ellint_rg(fr, dr, lr);
1332 test::ellint_rj(i, i, s, l);
1333 test::ellint_rj(i, fr, dr, lr);
1334 test::hypot(i, s);
1335 test::hypot(fr, lr);
1336 test::sinc_pi(i);
1337 test::sinhc_pi(i);
1338 test::asinh(s);
1339 test::acosh(l);
1340 test::atanh(l);
1341 test::sin_pi(s);
1342 test::cos_pi(s);
1343 test::cyl_neumann(fr, dr);
1344 test::cyl_neumann(i, s);
1345 test::cyl_bessel_j(fr, lr);
1346 test::cyl_bessel_j(i, s);
1347 test::cyl_bessel_i(fr, lr);
1348 test::cyl_bessel_i(i, s);
1349 test::cyl_bessel_k(fr, lr);
1350 test::cyl_bessel_k(i, s);
1351 test::sph_bessel(i, fr);
1352 test::sph_bessel(i, 1);
1353 test::sph_neumann(i, lr);
1354 test::sph_neumann(i, i);
1355 test::cyl_neumann_prime(fr, dr);
1356 test::cyl_neumann_prime(i, s);
1357 test::cyl_bessel_j_prime(fr, lr);
1358 test::cyl_bessel_j_prime(i, s);
1359 test::cyl_bessel_i_prime(fr, lr);
1360 test::cyl_bessel_i_prime(i, s);
1361 test::cyl_bessel_k_prime(fr, lr);
1362 test::cyl_bessel_k_prime(i, s);
1363 test::sph_bessel_prime(i, fr);
1364 test::sph_bessel_prime(i, 1);
1365 test::sph_neumann_prime(i, lr);
1366 test::sph_neumann_prime(i, i);
1367 test::airy_ai(i);
1368 test::airy_bi(i);
1369 test::airy_ai_prime(i);
1370 test::airy_bi_prime(i);
1371 test::owens_t(fr, dr);
1372 test::owens_t(i, s);
1373#endif
1374#endif
1375}
1376
1377
1378#endif // BOOST_LIBS_MATH_TEST_INSTANTIATE_HPP
1379