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